:root {
  --yellow:#428af0;
  --black:#171717;
  --green:#00843d;
  --green-dark:#006b31;
  --green-soft:#e9f6ef;
  --purple:#6841aa;
  --purple-soft:#f5efff;
  --red:#b42318;
  --red-soft:#fff0ee;
  --orange:#fa915a;
  --canvas:#f5f6f3;
  --surface:#fff;
  --line:#e2e4df;
  --muted:#646760;
  --shadow:0 16px 40px rgba(20,24,20,.08)
}
* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth
}
body {
  margin:0;
  background:var(--canvas);
  color:var(--black);
  font-family:Arial,"Segoe UI",sans-serif;
  line-height:1.5;
  letter-spacing:.005em
}
button,input,textarea,select {
  font:inherit
}
button {
  cursor:pointer
}
.shell {
  min-height:100vh
}
.topbar {
  display:none
}
.site-header {
  position:sticky;
  top:0;
  z-index:20;
  border-bottom:1px solid rgba(0,0,0,.06);
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px)
}
.nav {
  display:flex;
  max-width:1240px;
  margin:auto;
  padding:14px 26px;
  align-items:center;
  justify-content:space-between
}
.brand {
  display:flex;
  align-items:center;
  gap:14px
}
.logo {
  width:46px;
  height:46px;
  object-fit:contain;
  flex-shrink:0
}
.brand-divider {
  width:1px;
  height:34px;
  background:#dedfd9
}
.brand-copy h1 {
  margin:0;
  font-size:19px;
  font-weight:800;
  line-height:1.2;
  letter-spacing:-.025em
}
.brand-copy small {
  display:block;
  margin-top:2px;
  color:#70736d;
  font-size:11px
}
.container {
  max-width:1240px;
  margin:auto;
  padding:30px 24px 70px
}
.hero {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(320px,.6fr);
  gap:18px;
  margin-bottom:18px
}
.hero-main,.target-card,.section-card {
  border-radius:20px
}
.hero-main {
  position:relative;
  display:flex;
  min-height:300px;
  padding:42px 44px;
  overflow:hidden;
  flex-direction:column;
  justify-content:center;
  background:linear-gradient(120deg,#171717,#242424);
  color:#fff
}
.hero-main:after {
  position:absolute;
  right:-105px;
  bottom:-105px;
  width:190px;
  height:190px;
  background:var(--yellow);
  content:"";
  transform:rotate(45deg)
}
.hero-main>* {
  position:relative;
  z-index:1
}
.eyebrow {
  color:#d8d9d5;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase
}
.hero h2 {
  max-width:760px;
  margin:10px 0 16px;
  font-size:clamp(35px,5vw,43px);
  font-weight:800;
  line-height:1.08;
  letter-spacing:-.035em
}
.hero p {
  max-width:760px;
  margin:0;
  color:#d9dad6;
  font-size:16px
}
.target-card {
  position:relative;
  display:flex;
  padding:26px;
  overflow:hidden;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid var(--line);
  background:var(--surface)
}
.target-card:before,.result.show:before {
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:5px;
  background:var(--green);
  content:""
}
.target-card h3 {
  margin:6px 0 14px;
  font-size:22px
}
.targets {
  display:grid;
  gap:8px
}
.target {
  display:flex;
  padding:11px 13px;
  align-items:center;
  justify-content:space-between;
  border:1px solid #e4e8e1;
  border-radius:12px;
  background:#f8faf7
}
.target strong {
  min-width:74px;
  padding:5px 9px;
  border-radius:9px;
  background:var(--green);
  color:#fff;
  text-align:center;
  font-size:12px
}
.target-legend {
  display:flex;
  margin:8px 0 14px;
  gap:10px;
  flex-wrap:wrap;
  font-size:11px;
  font-weight:700
}
.legend-dot {
  display:inline-block;
  width:8px;
  height:8px;
  margin-right:5px;
  border-radius:50%
}
.legend-met {
  background:var(--green)
}
.legend-miss {
  background:var(--red)
}
.legend-exceed {
  background:var(--purple)
}
.section-card {
  position:relative;
  margin-top:18px;
  padding:30px;
  border:1px solid var(--line);
  background:var(--surface)
}
.section-head {
  display:flex;
  margin-bottom:22px;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px
}
.section-head h3 {
  margin:0 0 5px;
  font-size:24px;
  font-weight:800;
  letter-spacing:-.02em
}
.section-head p {
  margin:0;
  color:var(--muted)
}
.step {
  padding:7px 11px;
  border-radius:999px;
  background:#edf0eb;
  font-size:12px;
  font-weight:800;
  white-space:nowrap
}
.profile-grid,.kpi-grid,.context-grid,.plan-grid,.score-strip,.suggestion-grid {
  display:grid;
  gap:16px
}
.profile-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.kpi-grid,.score-strip {
  grid-template-columns:repeat(4,minmax(0,1fr))
}
.context-grid,.plan-grid,.suggestion-grid {
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.field label {
  display:block;
  margin-bottom:7px;
  font-size:12px;
  font-weight:700
}
.field input,.field textarea,.field select {
  width:100%;
  padding:13px 14px;
  border:1px solid #ced2cb;
  border-radius:10px;
  background:#fff;
  color:var(--black)
}
.field textarea {
  min-height:95px;
  resize:vertical
}
.field input:focus,.field textarea:focus,.field select:focus,.metric-input:focus-within {
  border-color:var(--green);
  outline:0;
  box-shadow:0 0 0 3px rgba(0,132,61,.1)
}
.required-star {
  color:var(--red);
  font-weight:900
}
.required-note,.small {
  color:#6b6b66;
  font-size:12px
}
.required-note {
  margin-top:10px
}
.field-error {
  border-color:var(--red)!important;
  background:#fffafa!important;
  box-shadow:0 0 0 3px rgba(180,35,24,.1)!important
}
.kpi-card {
  padding:20px;
  overflow:hidden;
  border:1px solid #dfe3dc;
  border-radius:16px;
  background:#fbfcfa;
  transition:.2s
}
.kpi-card.met {
  border-color:#9bcdb1;
  background:var(--green-soft)
}
.kpi-card.miss {
  border-color:#e3a29a;
  background:var(--red-soft)
}
.kpi-card.exceed {
  border-color:#c8b1e8;
  background:var(--purple-soft)
}
.kpi-label {
  display:flex;
  margin-bottom:14px;
  align-items:center;
  justify-content:space-between;
  gap:8px
}
.kpi-label h4 {
  margin:0;
  font-size:17px
}
.badge {
  padding:6px 8px;
  border-radius:999px;
  background:#edf0eb;
  color:#555952;
  font-size:10px;
  font-weight:800
}
.kpi-card.met .badge {
  background:var(--green);
  color:#fff
}
.kpi-card.miss .badge {
  background:var(--red);
  color:#fff
}
.kpi-card.exceed .badge {
  background:var(--purple);
  color:#fff
}
.metric-input {
  display:flex;
  overflow:hidden;
  align-items:center;
  border:1px solid #d2d6cf;
  border-radius:11px;
  background:#fff
}
.metric-input input {
  width:100%;
  min-width:0;
  padding:14px;
  border:0;
  outline:0;
  background:transparent;
  font-size:25px;
  font-weight:800
}
.suffix {
  padding:0 12px;
  color:#777b74;
  font-weight:700
}
.status {
  margin-top:12px;
  color:#686c65;
  font-size:13px;
  font-weight:700
}
.kpi-card.met .status {
  color:var(--green-dark)
}
.kpi-card.miss .status {
  color:var(--red)
}
.kpi-card.exceed .status {
  color:#59318f
}
.context-grid {
  margin-top:18px
}
.skill-note {
  margin-top:10px;
  padding:11px 13px;
  border-left:4px solid var(--purple);
  border-radius:6px;
  background:var(--purple-soft);
  font-size:12px
}
.generate-wrap {
  display:flex;
  margin-top:20px;
  padding:16px;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid #e1e5df;
  border-radius:14px;
  background:#f5f8f4
}
.generate-wrap p {
  margin:0;
  color:#686863;
  font-size:13px
}
.btn {
  display:inline-flex;
  padding:11px 16px;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:0;
  border-radius:9px;
  font-weight:700;
  transition:.18s
}
.btn:hover {
  transform:translateY(-1px)
}
.btn:focus-visible {
  outline:3px solid rgba(104,65,170,.3);
  outline-offset:2px
}
.btn-yellow {
  background:var(--yellow);
  color:var(--black)
}
.btn-dark {
  background:var(--black);
  color:#fff
}
.btn-outline {
  border:1px solid #cfd2cc;
  background:#fff;
  color:var(--black)
}
.btn-ghost {
  background:#edf0eb;
  color:var(--black)
}
.result,.reflection {
  display:none
}
.result.show,.reflection.show {
  display:block
}
.result.show {
  overflow:hidden;
  background:#fff;
  box-shadow:var(--shadow)
}
.score-strip {
  margin-bottom:22px
}
.score-pill {
  padding:15px;
  border:1px solid #e2e0d4;
  border-radius:12px;
  background:#f5f6f3
}
.score-pill.met {
  background:var(--green-soft);
  border-color:#b7dbc6
}
.score-pill.miss {
  background:var(--red-soft);
  border-color:#e3a29a
}
.score-pill.exceed {
  background:var(--purple-soft);
  border-color:#c8b1e8
}
.score-pill span {
  color:#666a64;
  font-size:12px
}
.score-pill strong {
  display:block;
  margin-top:2px;
  font-size:21px
}
.score-pill.met strong {
  color:var(--green-dark)
}
.score-pill.miss strong {
  color:var(--red)
}
.score-pill.exceed strong {
  color:#59318f
}
.summary-banner {
  margin-bottom:22px;
  padding:22px 24px;
  border:1px solid #b7dbc6;
  border-radius:18px;
  background:var(--green-soft)
}
.summary-banner h4 {
  margin:0 0 6px;
  color:var(--green-dark);
  font-size:22px
}
.summary-banner p {
  margin:0
}
.plan-card,.suggestion {
  padding:20px;
  border:1px solid #e0e4de;
  border-radius:16px;
  background:#fff
}
.plan-card.full {
  grid-column:1/-1
}
.plan-card h4 {
  margin:0 0 12px;
  padding-bottom:10px;
  border-bottom:2px solid var(--green);
  font-size:17px;
  font-weight:800
}
.plan-card ul {
  margin:0;
  padding-left:20px
}
.plan-card li {
  margin:8px 0
}
.commitment {
  margin-top:12px;
  padding:16px 18px;
  border-left:5px solid var(--green);
  border-radius:0 14px 14px 0;
  background:#f2f8f4
}
.suggested-prompts {
  margin-top:20px;
  padding:20px;
  border:1px solid #e1e4df;
  border-radius:16px;
  background:#fbfcfa
}
.suggestion-grid {
  margin-top:14px
}
.suggestion {
  border-left:4px solid var(--purple)
}
.suggestion strong,.suggestion .small {
  display:block
}
.suggestion strong {
  margin:8px 0;
  font-size:15px
}
.prompt-tag {
  display:inline-block;
  padding:5px 8px;
  border-radius:999px;
  background:var(--purple-soft);
  color:#59318f;
  font-size:11px;
  font-weight:800
}
.suggestion-actions,.result-actions {
  display:flex;
  gap:10px;
  flex-wrap:wrap
}
.suggestion-actions {
  margin-top:16px
}
.suggestion-actions .btn {
  padding:8px 10px;
  font-size:12px
}

.practice-btn {
  background:var(--black);
  color:#fff
}
.practice-btn:hover {
  background:#2a2a2a
}
.practice-shell {
  display:grid;
  gap:16px
}
.practice-scenario {
  padding:20px;
  border:1px solid #dedfd9;
  border-radius:16px;
  background:#fff
}
.practice-scenario h4 {
  margin:0 0 8px;
  font-size:18px
}
.practice-scenario p {
  margin:0;
  color:#4f534d
}
.practice-answer {
  width:100%;
  min-height:130px;
  padding:14px;
  border:1px solid #ced2cb;
  border-radius:12px;
  resize:vertical
}
.practice-feedback {
  display:none;
  gap:12px
}
.practice-feedback.show {
  display:grid
}
.practice-feedback-card {
  padding:16px 18px;
  border-radius:14px;
  border:1px solid #dfe3dc;
  background:#fff
}
.practice-feedback-card.good {
  border-left:5px solid var(--green);
  background:var(--green-soft)
}
.practice-feedback-card.focus {
  border-left:5px solid var(--orange);
  background:#fff6ef
}
.practice-feedback-card.example {
  border-left:5px solid var(--purple);
  background:var(--purple-soft)
}
.practice-feedback-card strong {
  display:block;
  margin-bottom:5px
}
.practice-meta {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}
.practice-chip {
  padding:5px 9px;
  border-radius:999px;
  background:#edf0eb;
  font-size:11px;
  font-weight:800
}

.practice-effort{padding:10px 12px;border-radius:10px;background:#f5f6f3;color:#686c65;font-size:12px}.practice-review{display:none;position:relative;padding:18px 18px 18px 64px;border:1px solid #dfe4f5;border-radius:16px;background:linear-gradient(135deg,#fff,#f7f8f5);overflow:hidden}.practice-review.show{display:block}.review-orb{position:absolute;left:18px;top:17px;width:32px;height:32px;border-radius:10px;background:#171717;animation:pulse 1.1s ease-in-out infinite}.review-orb:before{position:absolute;right:-7px;top:-7px;width:18px;height:18px;background:var(--yellow);content:"";transform:rotate(45deg)}.review-track{height:5px;margin-top:11px;overflow:hidden;border-radius:999px;background:#e7e9e4}.review-track span{display:block;width:8%;height:100%;border-radius:999px;background:var(--green);transition:width .45s ease}.behaviour-row{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.behaviour-tag{display:inline-flex;padding:5px 8px;border-radius:999px;background:#fff;border:1px solid #cfd7d1;font-size:11px;font-weight:700}.behaviour-tag.missing{border-color:#e6c2a9;background:#fffaf5}.response-note{margin-top:8px;font-size:12px;color:#686c65}

.result-actions {
  margin:24px -30px -30px;
  padding:22px 30px;
  border-top:1px solid #e8e8e3;
  background:#f5f6f3
}
.reflection-box {
  margin-bottom:18px;
  padding:20px;
  border:1px solid #b7dbc6;
  border-radius:18px;
  background:var(--green-soft)
}
.reflection-box h4 {
  margin:0 0 5px;
  color:var(--green-dark)
}
.footer-note {
  margin-top:28px;
  color:#777b74;
  font-size:12px;
  text-align:center
}
.toast {
  position:fixed;
  right:24px;
  bottom:24px;
  z-index:150;
  padding:13px 16px;
  border-radius:12px;
  background:var(--black);
  color:#fff;
  box-shadow:var(--shadow);
  opacity:0;
  pointer-events:none;
  transform:translateY(10px);
  transition:.2s
}
.toast.show {
  opacity:1;
  transform:none
}
.overlay {
  position:fixed;
  inset:0;
  z-index:120;
  display:none;
  padding:18px;
  align-items:center;
  justify-content:center;
  background:rgba(10,12,10,.72)
}
.overlay.show {
  display:flex
}
.dialog {
  display:flex;
  width:min(820px,100%);
  max-height:92vh;
  overflow:hidden;
  flex-direction:column;
  border-radius:18px;
  background:#fff;
  box-shadow:0 25px 80px rgba(0,0,0,.3)
}
.dialog-head,.dialog-foot {
  display:flex;
  padding:16px 22px;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap
}
.dialog-head {
  border-bottom:1px solid #e3e5df
}
.dialog-head h3 {
  margin:0;
  font-size:20px
}
.dialog-body {
  padding:20px;
  overflow:auto;
  background:#f4f6f3
}
.dialog-foot {
  border-top:1px solid #e3e5df
}
.close {
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#eeeeea;
  font-size:20px
}
.email-preview-frame {
  max-width:680px;
  margin:auto;
  background:#fff
}
.prompt-text {
  max-height:280px;
  margin:10px 0;
  padding:14px;
  overflow:auto;
  border-radius:8px;
  background:#f6f7f4;
  font-size:13px;
  white-space:pre-wrap
}
.privacy-callout {
  padding:12px 14px;
  border-left:4px solid var(--yellow);
  background:#fff8d9;
  font-size:13px
}
.ai-loader {
  position:fixed;
  inset:0;
  z-index:160;
  display:none;
  padding:24px;
  align-items:center;
  justify-content:center;
  background:rgba(247,247,245,.94);
  backdrop-filter:blur(8px)
}
.ai-loader.show {
  display:flex
}
.ai-loader-card {
  position:relative;
  width:min(580px,100%);
  padding:34px;
  border:1px solid #e2e2dc;
  border-radius:28px;
  background:#fff;
  text-align:center;
  box-shadow:0 24px 70px rgba(30,30,30,.14)
}
.ai-kicker{margin-bottom:8px;color:var(--purple);font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.ai-loader-card h3{margin:0 0 8px;font-size:25px;letter-spacing:-.025em}
.ai-loader-card p{min-height:24px;margin:0;color:#646760}
.ai-thinking{display:flex;margin:22px 0 0;gap:8px;justify-content:center}
.ai-thinking i{width:7px;height:7px;border-radius:50%;background:var(--green);animation:think 1.1s ease-in-out infinite}
.ai-thinking i:nth-child(2){animation-delay:.16s}.ai-thinking i:nth-child(3){animation-delay:.32s}
.ai-progress span{transition:width .5s ease}
.ai-stage{margin-top:10px;color:#858880;font-size:11px;font-weight:700}
@keyframes think{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}
.ai-orb {
  position:relative;
  width:72px;
  height:72px;
  margin:0 auto 20px;
  overflow:hidden;
  border-radius:22px;
  background:var(--black);
  animation:pulse 1.4s ease-in-out infinite
}
.ai-orb:before {
  position:absolute;
  top:-19px;
  right:-19px;
  width:55px;
  height:55px;
  background:var(--yellow);
  content:"";
  transform:rotate(45deg)
}
.ai-orb:after {
  position:absolute;
  inset:14px;
  border:2px solid rgba(255,255,255,.9);
  border-top-color:transparent;
  border-radius:50%;
  content:"";
  animation:spin .85s linear infinite
}
.ai-progress {
  height:5px;
  margin-top:22px;
  overflow:hidden;
  border-radius:999px;
  background:#eeeeea
}
.ai-progress span {
  display:block;
  width:35%;
  height:100%;
  background:var(--green);
  animation:scan 1.1s ease-in-out infinite
}
@keyframes spin {
  to {
    transform:rotate(360deg)
  }
}
@keyframes pulse {
  50% {
    transform:scale(1.04)
  }
}
@keyframes scan {
  from {
    transform:translateX(-120%)
  }
  to {
    transform:translateX(390%)
  }
}

/* Futuristic live AI hero background */
.hero-main{isolation:isolate;background:linear-gradient(120deg,#101110,#1d201e 58%,#151715)}
.hero-main:after{z-index:0;opacity:.92}
.hero-ai-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.hero-ai-bg:before{position:absolute;inset:-30%;content:"";background:radial-gradient(circle at 24% 38%,rgba(0,132,61,.28),transparent 19%),radial-gradient(circle at 72% 35%,rgba(104,65,170,.28),transparent 18%),radial-gradient(circle at 58% 78%,rgba(66,138,240,.14),transparent 17%);filter:blur(7px);animation:aiAurora 12s ease-in-out infinite alternate}
.ai-grid{position:absolute;inset:0;opacity:.15;background-image:linear-gradient(rgba(255,255,255,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.10) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to right,transparent 0,#000 35%,#000 100%);animation:gridDrift 18s linear infinite}
.ai-orbit{position:absolute;border:1px solid rgba(255,255,255,.12);border-radius:50%;animation:orbitFloat 10s ease-in-out infinite alternate}
.ai-orbit.o1{width:240px;height:240px;right:7%;top:10%}.ai-orbit.o2{width:150px;height:150px;right:20%;bottom:-25%;animation-delay:-4s}.ai-orbit.o3{width:90px;height:90px;right:34%;top:17%;animation-delay:-7s}
.ai-node{position:absolute;width:11px;height:11px;border-radius:50%;background:#fff;box-shadow:0 0 12px rgba(255,255,255,.9),0 0 28px rgba(0,132,61,.6);animation:nodeTravel 9s ease-in-out infinite alternate}
.ai-node:after{position:absolute;inset:-7px;border:1px solid rgba(255,255,255,.28);border-radius:50%;content:"";animation:nodePulse 2s ease-out infinite}
.ai-node.n1{left:56%;top:23%}.ai-node.n2{left:76%;top:61%;animation-delay:-3s;background:#428af0;box-shadow:0 0 15px rgba(66,138,240,.9),0 0 35px rgba(66,138,240,.35)}.ai-node.n3{left:88%;top:28%;animation-delay:-6s;background:#9b78d0;box-shadow:0 0 15px rgba(155,120,208,.9),0 0 35px rgba(104,65,170,.5)}
.ai-beam{position:absolute;height:1px;transform-origin:left center;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),rgba(0,132,61,.6),transparent);filter:drop-shadow(0 0 5px rgba(0,132,61,.5));animation:beamPulse 4s ease-in-out infinite}
.ai-beam.b1{width:38%;left:52%;top:29%;transform:rotate(18deg)}.ai-beam.b2{width:29%;left:61%;top:68%;transform:rotate(-31deg);animation-delay:-2s}.ai-beam.b3{width:25%;left:72%;top:35%;transform:rotate(62deg);animation-delay:-1s}
.ai-core{position:absolute;right:7%;top:50%;width:148px;height:148px;transform:translateY(-50%);display:grid;place-items:center;animation:logoFloat 5s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(66,138,240,.24)) drop-shadow(0 0 40px rgba(66,138,240,.12))}
.ai-core:before{position:absolute;inset:-13px;border:1px solid rgba(66,138,240,.34);border-radius:50%;content:"";box-shadow:0 0 28px rgba(66,138,240,.10);animation:logoRing 7s linear infinite}
.ai-core:after{position:absolute;inset:-26px;border:1px dashed rgba(255,255,255,.16);border-radius:50%;content:"";animation:logoRing 12s linear infinite reverse}
.ai-brand-logo{position:relative;z-index:2;width:132px;height:132px;object-fit:contain;filter:drop-shadow(0 10px 20px rgba(0,0,0,.38));animation:logoPulse 3.2s ease-in-out infinite}
.ai-logo-halo{position:absolute;inset:18px;border-radius:50%;background:radial-gradient(circle,rgba(66,138,240,.22),rgba(66,138,240,.06) 44%,transparent 72%);filter:blur(8px);animation:haloPulse 3.2s ease-in-out infinite}
.hero-main>.eyebrow,.hero-main>h2,.hero-main>p{z-index:2}.hero-main>h2{text-shadow:0 5px 25px rgba(0,0,0,.45)}
@keyframes aiAurora{0%{transform:translate3d(-2%,0,0) scale(1)}100%{transform:translate3d(5%,-3%,0) scale(1.08)}}
@keyframes gridDrift{to{background-position:42px 42px}}
@keyframes orbitFloat{0%{transform:translate3d(0,-6px,0) rotate(0deg)}100%{transform:translate3d(12px,10px,0) rotate(16deg)}}
@keyframes nodeTravel{0%{transform:translate3d(-8px,-7px,0) scale(.85)}100%{transform:translate3d(17px,13px,0) scale(1.15)}}
@keyframes nodePulse{0%{transform:scale(.55);opacity:.8}100%{transform:scale(1.65);opacity:0}}
@keyframes beamPulse{0%,100%{opacity:.18}50%{opacity:.8}}
@keyframes logoFloat{0%,100%{transform:translateY(-50%) translateX(0) rotate(-1deg)}50%{transform:translateY(-57%) translateX(-4px) rotate(1deg)}}
@keyframes logoPulse{0%,100%{transform:scale(.96)}50%{transform:scale(1.045)}}
@keyframes haloPulse{0%,100%{opacity:.48;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}
@keyframes logoRing{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.hero-ai-bg *,.hero-ai-bg:before{animation:none!important}}

@media(max-width:1000px) {
  .kpi-grid,.score-strip {
    grid-template-columns:repeat(2,1fr)
  }
}
@media(max-width:850px) {
  .hero,.profile-grid,.kpi-grid,.score-strip,.context-grid,.plan-grid,.suggestion-grid {
    grid-template-columns:1fr
  }
  .brand-divider {
    display:none
  }
  .container {
    padding:24px 16px 50px
  }
  .nav {
    padding:12px 16px
  }
  .hero-main {
    padding:30px
  }
  .section-card {
    padding:20px
  }
  .plan-card.full {
    grid-column:auto
  }
  .generate-wrap {
    align-items:stretch;
    flex-direction:column
  }
  .generate-wrap .btn {
    width:100%
  }
  .result-actions {
    margin:24px -20px -20px;
    padding:20px
  }
}
@media print {
  @page {
    size:A4;
    margin:12mm
  }
  body {
    background:#fff!important;
    print-color-adjust:exact!important;
    -webkit-print-color-adjust:exact!important
  }
  .site-header,.hero,.section-card:not(#result),.footer-note,.toast,.overlay,.ai-loader,.suggested-prompts,.result-actions,.small {
    display:none!important
  }
  .container {
    max-width:none!important;
    padding:0!important
  }
  #result {
    display:block!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    box-shadow:none!important
  }
  .plan-card,.score-pill,.summary-banner {
    break-inside:avoid
  }
}

/* AAC feedback integration */
.feedback-nav-btn{white-space:nowrap}
.feedback-card{position:relative;width:min(520px,100%);padding:30px;border:1px solid #333;border-radius:24px;background:linear-gradient(145deg,#171717,#242424);color:#fff;box-shadow:0 28px 90px rgba(0,0,0,.38);overflow:hidden}
.feedback-card:before{position:absolute;inset:0 0 auto;height:6px;background:var(--yellow);content:""}
.feedback-card:after{position:absolute;right:-55px;bottom:-55px;width:130px;height:130px;background:rgba(66,138,240,.09);content:"";transform:rotate(45deg)}
.feedback-icon{display:grid;width:54px;height:54px;margin-bottom:18px;place-items:center;border-radius:16px;background:var(--yellow);color:#171717;font-size:25px;font-weight:900;box-shadow:0 0 30px rgba(66,138,240,.18)}
.feedback-card h3{margin:0 0 10px;font-size:27px;letter-spacing:-.025em}.feedback-card p{margin:0;color:#d5d7d2;line-height:1.65}.feedback-card .feedback-question{margin-top:14px;color:#fff;font-weight:700}.feedback-actions{display:flex;margin-top:24px;gap:10px;flex-wrap:wrap}.feedback-actions .btn-yellow{flex:1;min-width:180px}.feedback-card .close-feedback{position:absolute;top:18px;right:18px;width:36px;height:36px;border:0;border-radius:50%;background:#30322f;color:#fff;font-size:19px;cursor:pointer}.feedback-note{margin-top:14px;color:#92968f;font-size:11px}
@media(max-width:600px){.feedback-nav-btn{padding:9px 11px}.feedback-card{padding:26px 22px}.feedback-actions{flex-direction:column}.feedback-actions .btn{width:100%}}
  
/* AAC 5-Interaction Challenge */
.challenge-card{grid-column:1/-1;position:relative;overflow:hidden;padding:0;border:1px solid #d9ded7;border-radius:20px;background:linear-gradient(135deg,#171717,#242824);color:#fff;box-shadow:0 16px 38px rgba(20,24,20,.10)}
.challenge-card:before{position:absolute;inset:0;background:radial-gradient(circle at 88% 10%,rgba(66,138,240,.18),transparent 28%),radial-gradient(circle at 5% 95%,rgba(104,65,170,.20),transparent 28%);content:"";pointer-events:none}
.challenge-inner{position:relative;z-index:1;padding:24px}.challenge-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:18px}.challenge-kicker{color:#79beff;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.challenge-card h4{margin:5px 0 5px!important;padding:0!important;border:0!important;color:#fff;font-size:22px!important}.challenge-card p{margin:0;color:#d6d9d4}.challenge-badge{padding:7px 10px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.08);font-size:11px;font-weight:800;white-space:nowrap}.challenge-tactics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.challenge-step{position:relative;min-height:150px;padding:14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.055);cursor:pointer;transition:.18s}.challenge-step:hover{transform:translateY(-2px);border-color:rgba(66,138,240,.55)}.challenge-step.done{border-color:#4dbb7b;background:rgba(0,132,61,.20)}.challenge-step .challenge-num{display:grid;width:27px;height:27px;margin-bottom:10px;place-items:center;border-radius:8px;background:#428af0;color:#171717;font-size:12px;font-weight:900}.challenge-step.done .challenge-num{background:#4dbb7b;color:#fff}.challenge-step strong{display:block;margin-bottom:5px;color:#fff;font-size:12px}.challenge-step span{display:block;color:#c8ccc6;font-size:11px;line-height:1.45}.challenge-check{position:absolute;right:10px;top:10px;color:#77d99d;font-weight:900;opacity:0}.challenge-step.done .challenge-check{opacity:1}.challenge-foot{display:flex;margin-top:15px;padding-top:14px;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid rgba(255,255,255,.11);flex-wrap:wrap}.challenge-progress{font-size:12px;color:#d4d7d2}.challenge-progress strong{color:#79beff}.challenge-reset{border:0;background:transparent;color:#d4d7d2;text-decoration:underline;font-size:11px;cursor:pointer}.challenge-note{max-width:760px;color:#aeb3ac;font-size:10px;line-height:1.45}.challenge-card.light{background:linear-gradient(135deg,#f8faf7,#eef7f1);color:#171717}.challenge-card.light h4{color:#171717}.challenge-card.light p,.challenge-card.light .challenge-progress,.challenge-card.light .challenge-reset{color:#525851}.challenge-card.light .challenge-step{border-color:#dce4dd;background:#fff}.challenge-card.light .challenge-step strong{color:#171717}.challenge-card.light .challenge-step span{color:#626862}.challenge-card.light .challenge-foot{border-top-color:#dce4dd}.challenge-card.light .challenge-note{color:#697069}@media(max-width:900px){.challenge-tactics{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.challenge-tactics{grid-template-columns:1fr}.challenge-head{flex-direction:column}.challenge-step{min-height:auto}}

/* AAC floating challenge launcher */
.challenge-fab{position:fixed;right:24px;bottom:24px;z-index:105;display:none;align-items:center;gap:10px;padding:14px 18px;border:2px solid #428af0;border-radius:999px;background:#171717;color:#fff;font-weight:900;box-shadow:0 12px 34px rgba(0,0,0,.30),0 0 22px rgba(66,138,240,.42);cursor:pointer;animation:challengeAttention 1.05s cubic-bezier(.2,.8,.2,1) 0s 4,challengePulse 1.45s ease-out 4.2s infinite;transition:.18s;transform-origin:center}.challenge-fab.show{display:flex}.challenge-fab:hover{transform:translateY(-2px);background:#242424}.challenge-fab .target-icon{display:grid;width:29px;height:29px;place-items:center;border-radius:50%;background:#428af0;color:#171717;font-size:15px}.challenge-fab .challenge-fab-count{display:grid;min-width:28px;height:24px;padding:0 7px;place-items:center;border-radius:999px;background:#00843d;color:#fff;font-size:11px}.challenge-fab.complete{border-color:#4dbb7b;animation:none}.challenge-fab.complete .target-icon{background:#4dbb7b;color:#fff}@keyframes challengeAttention{0%{transform:scale(.82) translateY(10px);box-shadow:0 12px 34px rgba(0,0,0,.30),0 0 0 0 rgba(66,138,240,.9)}35%{transform:scale(1.13) translateY(-5px);box-shadow:0 16px 44px rgba(0,0,0,.34),0 0 0 12px rgba(66,138,240,.28),0 0 38px rgba(66,138,240,.72)}55%{transform:scale(.98) translateY(1px)}72%{transform:scale(1.07) translateY(-2px);box-shadow:0 14px 40px rgba(0,0,0,.32),0 0 0 22px rgba(66,138,240,.08),0 0 30px rgba(66,138,240,.62)}100%{transform:scale(1) translateY(0);box-shadow:0 12px 34px rgba(0,0,0,.30),0 0 0 30px rgba(66,138,240,0),0 0 22px rgba(66,138,240,.42)}}@keyframes challengePulse{0%,100%{transform:scale(1);box-shadow:0 12px 34px rgba(0,0,0,.28),0 0 0 0 rgba(66,138,240,.52),0 0 18px rgba(66,138,240,.34)}50%{transform:scale(1.035);box-shadow:0 14px 40px rgba(0,0,0,.30),0 0 0 13px rgba(66,138,240,0),0 0 30px rgba(66,138,240,.58)}}
.challenge-dialog{width:min(1080px,100%)}.challenge-dialog .dialog-body{padding:18px;background:#111}.challenge-dialog .challenge-card{margin:0;box-shadow:none}.challenge-dialog .dialog-head{background:#fff}.challenge-dialog .dialog-foot{background:#fff}.challenge-dialog .challenge-tactics{grid-template-columns:repeat(5,minmax(0,1fr))}@media(max-width:900px){.challenge-dialog .challenge-tactics{grid-template-columns:repeat(2,1fr)}.challenge-fab{right:14px;bottom:14px}}@media(max-width:560px){.challenge-dialog .challenge-tactics{grid-template-columns:1fr}.challenge-fab{padding:12px 14px}.challenge-fab .fab-label{font-size:12px}}


/* Export menu */
.export-menu{position:relative;display:inline-flex}.export-trigger{min-width:128px;justify-content:space-between;background:#fff}.export-chevron{font-size:12px;transition:transform .18s}.export-menu.open .export-chevron{transform:rotate(180deg)}.export-dropdown{position:absolute;right:0;bottom:calc(100% + 9px);z-index:90;display:none;width:270px;padding:7px;border:1px solid #dfe3dc;border-radius:13px;background:#fff;box-shadow:0 18px 45px rgba(20,24,20,.16)}.export-menu.open .export-dropdown{display:grid;gap:3px}.export-option{display:flex;width:100%;padding:11px 12px;align-items:center;gap:11px;border:0;border-radius:9px;background:#fff;color:#171717;text-align:left;cursor:pointer}.export-option:hover,.export-option:focus-visible{background:#f5f6f3;outline:0}.export-option-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:9px;background:#171717;color:#fff;font-size:10px;font-weight:900}.export-option strong,.export-option small{display:block}.export-option strong{font-size:13px}.export-option small{margin-top:1px;color:#747870;font-size:10px;font-weight:400}@media(max-width:560px){.export-menu,.export-trigger{width:100%}.export-dropdown{right:auto;left:0;width:min(290px,calc(100vw - 40px))}}

/* Premium PDF / print export */
@media print {
  @page { size:A4; margin:10mm; }
  body{font-family:Arial,"Segoe UI",sans-serif!important;color:#171717!important;background:#fff!important;}
  #result{width:100%!important;max-width:none!important;}
  #result .section-head{margin-bottom:14px!important;padding-bottom:10px!important;border-bottom:3px solid #428af0!important;}
  #result .section-head h3{font-size:22px!important;}
  .score-strip{grid-template-columns:repeat(4,1fr)!important;gap:7px!important;margin-bottom:14px!important;}
  .score-pill{padding:10px!important;border-radius:8px!important;}
  .score-pill strong{font-size:16px!important;}
  .summary-banner{padding:14px 16px!important;margin-bottom:14px!important;border-radius:10px!important;}
  .summary-banner h4{font-size:18px!important;}
  .plan-grid{display:block!important;}
  .plan-card{margin:0 0 10px!important;padding:13px 15px!important;border-radius:9px!important;box-shadow:none!important;break-inside:avoid!important;page-break-inside:avoid!important;}
  .plan-card h4{font-size:14px!important;margin-bottom:7px!important;padding-bottom:6px!important;}
  .plan-card li{margin:4px 0!important;font-size:10.5pt!important;line-height:1.35!important;}
  .plan-card p,.commitment,.plan-card .small{font-size:10.5pt!important;line-height:1.4!important;}
  .commitment{padding:10px 12px!important;}
  .score-pill,.summary-banner,.plan-card{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;}
}

/* AAC v1.1 professional UI polish - hero intentionally unchanged */
main .section-card{border:1px solid #dde1da;border-radius:18px;background:#fff;box-shadow:0 5px 18px rgba(20,24,20,.045);padding:32px 34px}
main .section-card:not(.result):hover{border-color:#d2d7cf}
main .section-head{margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid #e7e9e4}
main .section-head h3{font-size:22px;letter-spacing:-.018em}
main .section-head p{max-width:720px;color:#686c65;font-size:13px}
main .step{padding:6px 10px;border:1px solid #dfe3dc;background:#f7f8f5;color:#62665f;font-size:10px;letter-spacing:.07em}
main .field label{margin-bottom:8px;color:#343732;font-size:11px;letter-spacing:.025em}
main .field input,main .field textarea,main .field select{min-height:46px;border-color:#cfd4cc;border-radius:9px;background:#fff;transition:border-color .15s,box-shadow .15s}
main .field textarea{min-height:104px}
main .skill-note{border-left:3px solid var(--purple);background:#f8f5fc;color:#555a53}
main .kpi-card{padding:18px;border-radius:13px;background:#fafbf9;box-shadow:none}
main .kpi-label h4{font-size:15px}
main .badge{padding:5px 8px;font-size:9px;letter-spacing:.02em}
main .metric-input{border-radius:9px}
main .metric-input input{padding:12px 13px;font-size:23px}
main .status{font-size:11px}
main .generate-wrap{margin-top:22px;padding:17px 18px;border-color:#dfe4dc;border-radius:12px;background:#f8faf7}
main .generate-wrap p{max-width:760px;font-size:12px}
main .btn{min-height:42px;border-radius:8px;font-size:13px}
main .btn-yellow{box-shadow:0 2px 0 rgba(0,0,0,.08)}
main .result.show{border-color:#d9ddd6;box-shadow:0 10px 30px rgba(20,24,20,.07)}
main .score-strip{gap:12px}
main .score-pill{padding:14px;border-radius:10px}
main .score-pill strong{font-size:19px}
main .summary-banner{padding:19px 21px;border-radius:13px}
main .summary-banner h4{font-size:20px}
main .plan-grid{gap:14px}
main .plan-card,main .suggestion{padding:19px;border-radius:12px}
main .plan-card h4{padding-bottom:9px;font-size:15px}
main .plan-card li,main .plan-card p{font-size:13px;line-height:1.55}
main .commitment{padding:14px 16px;border-left-width:4px;border-radius:0 10px 10px 0}
main .suggested-prompts{padding:19px;border-radius:13px;background:#fafbf9}
main .suggestion{border-left-width:3px}
main .result-actions{align-items:center}
.dialog{border:1px solid rgba(255,255,255,.12);border-radius:16px}
.dialog-head{padding:17px 22px}
.dialog-body{background:#f7f8f6}
.feedback-card{border-radius:18px}
.challenge-card{border-radius:16px}
.challenge-step{border-radius:11px}
.footer-note{padding-top:8px;border-top:1px solid #e3e5df}
@media(max-width:850px){main .section-card{padding:22px 20px}main .section-head{padding-bottom:15px}.result-actions{align-items:stretch}}

/* AAC first-entry identity experience */
body.aac-onboarding-open{overflow:hidden}
.aac-onboarding{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:32px;background:#080a09;color:#fff;overflow:auto;transition:opacity .55s ease,visibility .55s ease}
.aac-onboarding.hidden{opacity:0;visibility:hidden;pointer-events:none}
.aac-onboarding-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 18% 20%,rgba(0,132,61,.35),transparent 28%),radial-gradient(circle at 82% 18%,rgba(104,65,170,.42),transparent 28%),radial-gradient(circle at 72% 82%,rgba(66,138,240,.22),transparent 25%),linear-gradient(135deg,#080a09,#121713 52%,#090a09)}
.aac-onboarding-bg:before{position:absolute;inset:-40%;content:"";background:conic-gradient(from 90deg,transparent,rgba(66,138,240,.08),transparent 28%,rgba(0,132,61,.12),transparent 58%,rgba(104,65,170,.12),transparent);animation:onboardSpin 22s linear infinite}
.aac-onboarding-grid{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);background-size:52px 52px;mask-image:radial-gradient(circle at center,#000,transparent 82%);animation:onboardGrid 22s linear infinite}
.aac-onboarding-glow{position:absolute;width:360px;height:360px;border-radius:50%;filter:blur(75px);opacity:.24}.aac-onboarding-glow.g1{left:-90px;top:20%;background:#00843d}.aac-onboarding-glow.g2{right:-80px;top:6%;background:#6841aa}.aac-onboarding-glow.g3{right:15%;bottom:-180px;background:#428af0}
.aac-onboarding-shell{position:relative;z-index:2;width:min(1120px,100%);display:grid;grid-template-columns:1.08fr .92fr;overflow:hidden;border:1px solid rgba(255,255,255,.16);border-radius:30px;background:rgba(16,18,17,.76);box-shadow:0 35px 110px rgba(0,0,0,.5);backdrop-filter:blur(24px)}
.aac-onboarding-story{position:relative;min-height:610px;padding:58px 58px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;border-right:1px solid rgba(255,255,255,.1)}
.aac-onboarding-story:after{position:absolute;right:-82px;bottom:-82px;width:185px;height:185px;background:linear-gradient(135deg,#428af0,#1f5fd1);content:"";transform:rotate(45deg);opacity:.92;animation:aacCornerFloat 7s ease-in-out infinite}
.aac-onboarding-mark{display:flex;align-items:center;gap:18px}.aac-onboarding-mark img{width:82px;height:82px;object-fit:contain;filter:drop-shadow(0 14px 34px rgba(66,138,240,.24));animation:aacLogoDrift 6s ease-in-out infinite}.aac-onboarding-mark strong{display:block;font-size:19px;letter-spacing:-.015em}.aac-onboarding-mark span{display:block;margin-top:4px;color:#9fa69f;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.aac-onboarding-copy{position:relative;z-index:2;max-width:560px}.aac-onboarding-kicker{margin-bottom:14px;color:#79beff;font-size:10px;font-weight:900;letter-spacing:.2em;text-transform:uppercase}.aac-onboarding-copy h1{margin:0 0 18px;font-size:clamp(30px,3vw,40px);line-height:1.08;letter-spacing:-.035em;font-weight:760}.aac-onboarding-copy p{max-width:510px;margin:0;color:#c9cec9;font-size:clamp(15px,1.45vw,18px);line-height:1.65}.aac-onboarding-pills{display:none}
.aac-onboarding-form-wrap{padding:58px 50px;display:flex;align-items:center;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.025))}.aac-onboarding-form{width:100%;max-width:430px;margin:auto}.aac-onboarding-form h2{margin:0 0 8px;font-size:30px;letter-spacing:-.03em}.aac-onboarding-form>p{margin:0 0 28px;color:#adb3ad;font-size:13px;line-height:1.6}.aac-login-field{margin-top:17px}.aac-login-field label{display:block;margin-bottom:8px;color:#eef0ed;font-size:11px;font-weight:800;letter-spacing:.04em}.aac-login-field input,.aac-login-field select{width:100%;min-height:54px;padding:0 15px;border:1px solid rgba(255,255,255,.18);border-radius:12px;outline:0;background:rgba(255,255,255,.075);color:#fff;transition:.18s}.aac-login-field select option{color:#171717;background:#fff}.aac-login-field input::placeholder{color:#7f877f}.aac-login-field input:focus,.aac-login-field select:focus{border-color:#428af0;box-shadow:0 0 0 4px rgba(66,138,240,.1);background:rgba(255,255,255,.1)}.aac-login-field.error input,.aac-login-field.error select{border-color:#ff7d72;box-shadow:0 0 0 4px rgba(255,90,75,.09)}
.aac-enter-btn{width:100%;min-height:56px;margin-top:24px;border:0;border-radius:12px;background:#428af0;color:#171717;font-weight:900;box-shadow:0 12px 30px rgba(66,138,240,.15);transition:.18s}.aac-enter-btn:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(66,138,240,.22)}.aac-login-note{margin-top:14px;color:#838a83;font-size:10px;line-height:1.55}.aac-login-error{min-height:18px;margin-top:10px;color:#ff9a91;font-size:11px;font-weight:700}
.aac-profile{position:relative;display:flex;align-items:center;gap:10px;padding:6px 9px 6px 6px;border:1px solid transparent;border-radius:12px;cursor:default;transition:.18s}.aac-profile:hover,.aac-profile:focus-within{border-color:#dfe3dc;background:#f7f8f5}.aac-profile-avatar{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:#171717;color:#428af0;font-size:12px;font-weight:900}.aac-profile-copy{line-height:1.15}.aac-profile-copy strong{display:block;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.aac-profile-copy span{display:block;max-width:180px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#777b74;font-size:9px}.aac-profile-chevron{color:#777b74;font-size:10px;transition:.18s}.aac-profile:hover .aac-profile-chevron,.aac-profile:focus-within .aac-profile-chevron{transform:rotate(180deg)}.aac-profile-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:80;width:220px;padding:8px;border:1px solid #dfe3dc;border-radius:12px;background:#fff;box-shadow:0 18px 45px rgba(20,24,20,.16);opacity:0;visibility:hidden;transform:translateY(-5px);transition:.16s}.aac-profile:hover .aac-profile-menu,.aac-profile:focus-within .aac-profile-menu{opacity:1;visibility:visible;transform:none}.aac-profile-menu-label{padding:7px 9px 5px;color:#8a8e87;font-size:9px;font-weight:900;letter-spacing:.1em}.aac-signout{display:flex;width:100%;padding:10px 11px;flex-direction:column;align-items:flex-start;border:0;border-radius:9px;background:#fff;color:#171717;text-align:left}.aac-signout:hover,.aac-signout:focus-visible{background:#f5f6f3;outline:0}.aac-signout span{font-size:12px;font-weight:800}.aac-signout small{margin-top:2px;color:#777b74;font-size:9px}.aac-header-actions{display:flex;align-items:center;gap:10px}.aac-identity-hidden{display:none!important}.hero-welcome{display:block;margin-bottom:2px;color:#79beff;font-size:clamp(18px,2.3vw,25px);font-weight:800;letter-spacing:-.015em}.hero h2.aac-personal-title{margin-top:7px}
.aac-login-loader{position:fixed;inset:0;z-index:10020;display:grid;place-items:center;padding:24px;background:#080a09;color:#fff;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .28s ease,visibility .28s ease}.aac-login-loader.show{opacity:1;visibility:visible;pointer-events:auto}.aac-login-loader-bg{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 25% 25%,rgba(0,132,61,.24),transparent 30%),radial-gradient(circle at 78% 24%,rgba(104,65,170,.28),transparent 28%),radial-gradient(circle at 55% 90%,rgba(66,138,240,.14),transparent 28%),#080a09}.aac-login-loader-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:48px 48px;animation:onboardGrid 16s linear infinite}.aac-login-loader-card{position:relative;z-index:2;width:min(440px,100%);text-align:center}.aac-loader-logo{position:relative;width:112px;height:112px;margin:0 auto 30px;display:grid;place-items:center}.aac-loader-core{position:relative;z-index:3;display:grid;width:66px;height:66px;place-items:center;border-radius:20px;background:linear-gradient(135deg,#43c9ff,#428af0);color:#07101d;font-size:18px;font-weight:950;box-shadow:0 0 45px rgba(66,138,240,.2)}.aac-loader-ring{position:absolute;inset:5px;border:1px solid rgba(66,138,240,.4);border-radius:50%;animation:aacLoaderSpin 2.6s linear infinite}.aac-loader-ring.r2{inset:-7px;border-style:dashed;border-color:rgba(255,255,255,.2);animation-duration:5s;animation-direction:reverse}.aac-loader-kicker{color:#79beff;font-size:10px;font-weight:900;letter-spacing:.16em}.aac-login-loader h2{margin:10px 0 5px;font-size:30px;letter-spacing:-.03em}.aac-login-loader p{margin:0;color:#aeb4ae;font-size:12px}.aac-loader-track{height:4px;margin:28px auto 0;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.1)}.aac-loader-track span{display:block;width:34%;height:100%;border-radius:999px;background:linear-gradient(90deg,#00843d,#428af0);animation:aacLoaderTrack 1.15s ease-in-out infinite}@keyframes aacLoaderSpin{to{transform:rotate(360deg)}}@keyframes aacLoaderTrack{0%{transform:translateX(-110%)}100%{transform:translateX(310%)}}
@keyframes onboardSpin{to{transform:rotate(360deg)}}@keyframes onboardGrid{to{background-position:52px 52px}}
@media(max-width:900px){.aac-onboarding-shell{grid-template-columns:1fr}.aac-onboarding-story{min-height:360px;padding:42px 34px;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.aac-onboarding-form-wrap{padding:38px 32px}.aac-onboarding-copy h1{font-size:34px}.aac-profile-copy{display:none}}
@media(max-width:560px){.aac-onboarding{padding:14px}.aac-onboarding-shell{border-radius:22px}.aac-onboarding-story{min-height:310px;padding:32px 24px}.aac-onboarding-form-wrap{padding:30px 24px}.aac-onboarding-mark img{width:70px;height:70px}.aac-onboarding-copy h1{font-size:30px}.aac-header-actions{gap:6px}.aac-profile-menu{right:-4px}}
@keyframes aacLogoDrift{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-7px) rotate(2deg)}}
@keyframes aacCornerFloat{0%,100%{transform:rotate(45deg) translate(0,0)}50%{transform:rotate(45deg) translate(-10px,-10px)}}
.aac-onboarding-story:before{content:"";position:absolute;width:280px;height:280px;left:36%;top:35%;border:1px solid rgba(66,138,240,.08);border-radius:50%;box-shadow:0 0 70px rgba(66,138,240,.045),inset 0 0 60px rgba(0,132,61,.035);animation:aacOrbit 12s linear infinite;pointer-events:none}
@keyframes aacOrbit{0%{transform:translate(-50%,-50%) rotate(0deg) scale(.92);opacity:.35}50%{transform:translate(-50%,-50%) rotate(180deg) scale(1.04);opacity:.7}100%{transform:translate(-50%,-50%) rotate(360deg) scale(.92);opacity:.35}}
/* Login brand motion refinement */
.aac-onboarding-mark{position:relative;isolation:isolate;min-height:96px}
.aac-onboarding-mark img{position:relative;z-index:4;width:88px;height:88px;animation:aacLogoSignature 7s cubic-bezier(.45,0,.2,1) infinite;filter:drop-shadow(0 16px 32px rgba(0,0,0,.34)) drop-shadow(0 0 18px rgba(66,138,240,.20));will-change:transform,filter}
.aac-login-brand-orbit{position:absolute;z-index:1;left:44px;top:44px;width:124px;height:124px;transform:translate(-50%,-50%);pointer-events:none}
.aac-login-brand-orbit:before{position:absolute;inset:27px;border-radius:50%;content:"";background:radial-gradient(circle,rgba(66,138,240,.22) 0,rgba(66,138,240,.08) 38%,transparent 72%);filter:blur(9px);animation:aacBrandHalo 4.6s ease-in-out infinite}
.orbit-ring{position:absolute;inset:10px;border-radius:50%;border:1px solid rgba(66,138,240,.22);box-shadow:0 0 24px rgba(66,138,240,.08);animation:aacBrandOrbit 10s linear infinite}
.orbit-ring.ring-b{inset:-3px;border-color:rgba(255,255,255,.12);border-style:dashed;animation-duration:16s;animation-direction:reverse}
.orbit-dot{position:absolute;z-index:2;width:6px;height:6px;border-radius:50%;background:#428af0;box-shadow:0 0 12px rgba(66,138,240,.85);transform-origin:62px 62px;left:59px;top:0;animation:aacBrandDot 7.5s linear infinite}
.orbit-dot.dot-b{width:5px;height:5px;left:59.5px;top:4px;background:#8dd7ad;box-shadow:0 0 12px rgba(0,132,61,.75);animation-duration:11s;animation-direction:reverse}
.aac-onboarding-mark:after{position:absolute;z-index:0;left:-20px;top:50%;width:170px;height:110px;content:"";transform:translateY(-50%);background:radial-gradient(ellipse,rgba(66,138,240,.09),transparent 66%);filter:blur(8px);animation:aacBrandAura 5.5s ease-in-out infinite;pointer-events:none}
@keyframes aacLogoSignature{0%,100%{transform:translate3d(0,0,0) rotate(-1deg) scale(1);filter:drop-shadow(0 16px 32px rgba(0,0,0,.34)) drop-shadow(0 0 14px rgba(66,138,240,.17))}25%{transform:translate3d(2px,-5px,0) rotate(.8deg) scale(1.018)}50%{transform:translate3d(-1px,-8px,0) rotate(-.4deg) scale(1.03);filter:drop-shadow(0 20px 38px rgba(0,0,0,.38)) drop-shadow(0 0 26px rgba(66,138,240,.30))}75%{transform:translate3d(-3px,-3px,0) rotate(.7deg) scale(1.012)}}
@keyframes aacBrandOrbit{to{transform:rotate(360deg)}}
@keyframes aacBrandDot{to{transform:rotate(360deg)}}
@keyframes aacBrandHalo{0%,100%{opacity:.48;transform:scale(.9)}50%{opacity:.9;transform:scale(1.12)}}
@keyframes aacBrandAura{0%,100%{opacity:.45;transform:translateY(-50%) scale(.92)}50%{opacity:.85;transform:translateY(-50%) scale(1.08)}}
.aac-onboarding-shell{animation:aacLoginShellIn .8s cubic-bezier(.16,1,.3,1) both}
.aac-onboarding-copy,.aac-onboarding-form{animation:aacLoginContentIn .85s .12s cubic-bezier(.16,1,.3,1) both}
@keyframes aacLoginShellIn{from{opacity:0;transform:translateY(18px) scale(.985);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes aacLoginContentIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.aac-onboarding-bg:before,.aac-onboarding-grid,.aac-onboarding-mark img,.aac-onboarding-story:after,.aac-onboarding-story:before,.aac-login-brand-orbit:before,.orbit-ring,.orbit-dot,.aac-onboarding-mark:after,.aac-onboarding-shell,.aac-onboarding-copy,.aac-onboarding-form{animation:none!important}}



/* AAC neural intelligence layer — visual only */
.aac-ai-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:.72;pointer-events:none;mix-blend-mode:screen}
.aac-onboarding-shell{z-index:3}
.aac-ai-scan{position:absolute;inset:-25% 0 auto 0;height:42%;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(66,138,240,.035),rgba(255,255,255,.055),rgba(0,132,61,.035),transparent);filter:blur(.2px);animation:aacAIScan 8s cubic-bezier(.45,0,.55,1) infinite}
.aac-ai-status{position:absolute;left:58px;bottom:34px;z-index:4;display:flex;align-items:center;gap:9px;padding:8px 11px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(8,10,9,.36);backdrop-filter:blur(12px);color:#aeb6af;font-size:9px;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.aac-ai-status i{position:relative;width:7px;height:7px;border-radius:50%;background:#55d98a;box-shadow:0 0 12px rgba(85,217,138,.8)}
.aac-ai-status i:after{position:absolute;inset:-5px;border:1px solid rgba(85,217,138,.42);border-radius:50%;content:"";animation:aacAIPing 2.4s ease-out infinite}
.aac-ai-word{color:#79beff}
.aac-onboarding-story{isolation:isolate}
.aac-onboarding-story .aac-onboarding-mark,.aac-onboarding-story .aac-onboarding-copy{z-index:5}
.aac-onboarding-story:before{z-index:1!important}
.aac-neural-halo{position:absolute;left:50%;top:50%;z-index:1;width:520px;height:520px;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;background:repeating-radial-gradient(circle,transparent 0 42px,rgba(255,255,255,.028) 43px 44px);mask-image:radial-gradient(circle,#000 0 42%,transparent 73%);animation:aacHaloBreathe 7s ease-in-out infinite}
.aac-data-rail{position:absolute;right:24px;top:50%;z-index:3;width:2px;height:180px;transform:translateY(-50%);overflow:hidden;border-radius:999px;background:rgba(255,255,255,.07)}
.aac-data-rail:after{position:absolute;left:0;top:-45%;width:100%;height:38%;content:"";background:linear-gradient(transparent,#428af0,#5be08f,transparent);box-shadow:0 0 12px rgba(66,138,240,.7);animation:aacDataRail 3.2s ease-in-out infinite}
.aac-loader-neural{position:absolute;inset:-90px;z-index:0;border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(66,138,240,.0) 0 13deg,rgba(66,138,240,.12) 14deg 14.5deg,rgba(0,132,61,0) 15deg 27deg);mask-image:radial-gradient(circle,transparent 0 36%,#000 37% 55%,transparent 72%);animation:aacNeuralRotate 16s linear infinite}
.aac-loader-core{overflow:visible}.aac-loader-core:before,.aac-loader-core:after{position:absolute;width:5px;height:5px;border-radius:50%;content:"";background:#fff;box-shadow:0 0 12px #428af0}.aac-loader-core:before{left:-26px;top:17px;animation:aacCoreNodeA 2.8s ease-in-out infinite}.aac-loader-core:after{right:-27px;bottom:16px;background:#69e49b;box-shadow:0 0 12px #69e49b;animation:aacCoreNodeB 3.2s ease-in-out infinite}
@keyframes aacAIScan{0%{transform:translateY(-80%);opacity:0}15%{opacity:.65}70%{opacity:.3}100%{transform:translateY(330%);opacity:0}}
@keyframes aacAIPing{0%{transform:scale(.5);opacity:.9}80%,100%{transform:scale(1.9);opacity:0}}
@keyframes aacHaloBreathe{0%,100%{transform:translate(-50%,-50%) scale(.94) rotate(0);opacity:.5}50%{transform:translate(-50%,-50%) scale(1.05) rotate(8deg);opacity:.9}}
@keyframes aacDataRail{0%{transform:translateY(-10%);opacity:0}25%{opacity:1}100%{transform:translateY(410%);opacity:0}}
@keyframes aacNeuralRotate{to{transform:rotate(360deg)}}
@keyframes aacCoreNodeA{0%,100%{transform:translate(0,0);opacity:.35}50%{transform:translate(12px,18px);opacity:1}}
@keyframes aacCoreNodeB{0%,100%{transform:translate(0,0);opacity:.35}50%{transform:translate(-14px,-16px);opacity:1}}
@media(max-width:900px){.aac-ai-status{left:34px;bottom:24px}.aac-data-rail{display:none}}
@media(max-width:560px){.aac-ai-status{left:24px;bottom:18px}.aac-ai-status span{font-size:8px}.aac-neural-halo{width:390px;height:390px}}
@media(prefers-reduced-motion:reduce){.aac-ai-scan,.aac-ai-status i:after,.aac-neural-halo,.aac-data-rail:after,.aac-loader-neural,.aac-loader-core:before,.aac-loader-core:after{animation:none!important}.aac-ai-canvas{display:none}}



/* =========================================================
   AAC v1.1 - Premium Main Workspace Dark Mode
   Login/onboarding intentionally remains unchanged.
   ========================================================= */
body.aac-dark{
  --black:#f4f6f3;
  --canvas:#0d100f;
  --surface:#151917;
  --line:#2a302c;
  --muted:#9ba29c;
  --green-soft:#10251a;
  --purple-soft:#211a2c;
  --red-soft:#2a1716;
  --shadow:0 18px 48px rgba(0,0,0,.34);
  background:var(--canvas);color:#eef1ed;color-scheme:dark
}
body.aac-dark .shell{background:radial-gradient(circle at 82% 8%,rgba(104,65,170,.08),transparent 24%),radial-gradient(circle at 12% 30%,rgba(0,132,61,.06),transparent 22%),#0d100f}
body.aac-dark .site-header{border-bottom-color:rgba(255,255,255,.08);background:rgba(13,16,15,.88);box-shadow:0 8px 30px rgba(0,0,0,.16)}
body.aac-dark .brand-divider{background:#343a36}
body.aac-dark .brand-copy h1{color:#f4f6f3}
body.aac-dark .brand-copy small{color:#8e9690}
body.aac-dark .section-card,body.aac-dark main .section-card{border-color:#282e2a;background:linear-gradient(145deg,#171b19,#121614);box-shadow:0 8px 28px rgba(0,0,0,.22)}
body.aac-dark main .section-card:not(.result):hover{border-color:#39413b}
body.aac-dark main .section-head{border-bottom-color:#2a302c}
body.aac-dark main .section-head h3,body.aac-dark .target-card h3{color:#f2f4f1}
body.aac-dark main .section-head p,body.aac-dark .small,body.aac-dark .required-note{color:#979f99}
body.aac-dark main .step{border-color:#343a36;background:#202522;color:#aeb5af}
body.aac-dark .target-card{border-color:#2c332e;background:linear-gradient(150deg,#171c19,#121613);box-shadow:0 8px 28px rgba(0,0,0,.18)}
body.aac-dark .target-card .eyebrow{color:#b6bdb7!important}
body.aac-dark .target{border-color:#303832;background:#1b211d;color:#e9ece8}
body.aac-dark .target-legend{color:#abb2ac}
body.aac-dark main .field label{color:#cdd2ce}
body.aac-dark .field input,body.aac-dark .field textarea,body.aac-dark .field select,body.aac-dark main .field input,body.aac-dark main .field textarea,body.aac-dark main .field select{border-color:#39413b;background:#101412;color:#eef1ed}
body.aac-dark .field input::placeholder,body.aac-dark .field textarea::placeholder{color:#707872}
body.aac-dark .field select option{background:#151917;color:#eef1ed}
body.aac-dark .field input:focus,body.aac-dark .field textarea:focus,body.aac-dark .field select:focus,body.aac-dark .metric-input:focus-within{border-color:#46b875;box-shadow:0 0 0 3px rgba(70,184,117,.12)}
body.aac-dark .field-error{background:#211413!important}
body.aac-dark main .skill-note{background:#211b2a;color:#c5bdcf}
body.aac-dark .kpi-card,body.aac-dark main .kpi-card{border-color:#303732;background:#151a17}
body.aac-dark .kpi-card.met{border-color:#2f6746;background:#10241a}
body.aac-dark .kpi-card.miss{border-color:#70413c;background:#281716}
body.aac-dark .kpi-card.exceed{border-color:#574275;background:#21192d}
body.aac-dark .metric-input{border-color:#3a423c;background:#0e1210}
body.aac-dark .metric-input input{color:#f5f7f4}
body.aac-dark .suffix,body.aac-dark .status{color:#939b95}
body.aac-dark .kpi-card.met .status{color:#75d59d}
body.aac-dark .kpi-card.miss .status{color:#ff9289}
body.aac-dark .kpi-card.exceed .status{color:#c4a6ef}
body.aac-dark main .generate-wrap{border-color:#303731;background:#111713}
body.aac-dark main .generate-wrap p{color:#a4aba5}
body.aac-dark .btn-outline{border-color:#3b433d;background:#171c19;color:#edf0ec}
body.aac-dark .btn-outline:hover{background:#202621}
body.aac-dark .btn-dark,body.aac-dark .practice-btn{background:#f1f3ef;color:#121513}
body.aac-dark .btn-dark:hover,body.aac-dark .practice-btn:hover{background:#fff}
body.aac-dark .btn-ghost{background:#232925;color:#e6e9e5}
body.aac-dark .result.show{background:linear-gradient(145deg,#171b19,#121614)}
body.aac-dark .score-pill{border-color:#303631;background:#191e1b}
body.aac-dark .score-pill span{color:#9ca39d}
body.aac-dark .score-pill.met{border-color:#315f45;background:#10241a}
body.aac-dark .score-pill.miss{border-color:#70413c;background:#281716}
body.aac-dark .score-pill.exceed{border-color:#574275;background:#21192d}
body.aac-dark .score-pill.met strong{color:#79dca2}
body.aac-dark .score-pill.miss strong{color:#ff978f}
body.aac-dark .score-pill.exceed strong{color:#c8aaf2}
body.aac-dark .summary-banner{border-color:#315f45;background:linear-gradient(135deg,#10241a,#132a1e)}
body.aac-dark .summary-banner h4{color:#83dda8}
body.aac-dark .plan-card,body.aac-dark .suggestion,body.aac-dark main .plan-card,body.aac-dark main .suggestion{border-color:#303732;background:#151a17;color:#e8ebe7}
body.aac-dark .commitment{background:#102019;color:#dfe7e1}
body.aac-dark .suggested-prompts,body.aac-dark main .suggested-prompts{border-color:#2d342f;background:#111613}
body.aac-dark .prompt-tag{background:#251d32;color:#c8acf0}
body.aac-dark .result-actions{border-top-color:#2c322e;background:#111512}
body.aac-dark .reflection-box{border-color:#315f45;background:#10241a}
body.aac-dark .reflection-box h4{color:#83dda8}
body.aac-dark .footer-note{border-top-color:#282e2a;color:#737b75}
body.aac-dark .aac-profile:hover,body.aac-dark .aac-profile:focus-within{border-color:#333b35;background:#191e1b}
body.aac-dark .aac-profile-copy strong{color:#eef1ed}
body.aac-dark .aac-profile-copy span,body.aac-dark .aac-profile-chevron{color:#8e9690}
body.aac-dark .aac-profile-avatar{background:#428af0;color:#171717}
body.aac-dark .aac-profile-menu{border-color:#343b36;background:#151917;box-shadow:0 20px 55px rgba(0,0,0,.45)}
body.aac-dark .aac-profile-menu-label{color:#7f8881}
body.aac-dark .aac-signout{background:#151917;color:#f0f2ef}
body.aac-dark .aac-signout:hover,body.aac-dark .aac-signout:focus-visible{background:#202621}
body.aac-dark .aac-signout small{color:#8d958f}
body.aac-dark .export-trigger{background:#171c19}
body.aac-dark .export-dropdown{border-color:#343b36;background:#151917;box-shadow:0 20px 55px rgba(0,0,0,.45)}
body.aac-dark .export-option{background:#151917;color:#eef1ed}
body.aac-dark .export-option:hover,body.aac-dark .export-option:focus-visible{background:#202621}
body.aac-dark .export-option small{color:#8f9791}
body.aac-dark .export-option-icon{background:#428af0;color:#171717}
body.aac-dark .dialog{background:#151917;color:#eef1ed;box-shadow:0 28px 90px rgba(0,0,0,.55)}
body.aac-dark .dialog-head,body.aac-dark .dialog-foot{border-color:#303732;background:#151917}
body.aac-dark .dialog-body{background:#0f1311}
body.aac-dark .close{background:#252b27;color:#f2f4f1}
body.aac-dark .email-preview-frame{background:#fff;color:#171717}
body.aac-dark .prompt-text{background:#101412;color:#e8ebe7}
body.aac-dark .privacy-callout{background:#2a250f;color:#f3e6a0}
body.aac-dark .practice-scenario,body.aac-dark .practice-feedback-card{border-color:#303732;background:#151a17}
body.aac-dark .practice-scenario p{color:#aeb5af}
body.aac-dark .practice-answer{border-color:#39413b;background:#101412;color:#eef1ed}
body.aac-dark .practice-effort{background:#1c211e;color:#a7afa9}
body.aac-dark .practice-review{border-color:#303732;background:linear-gradient(135deg,#171c19,#111512)}
body.aac-dark .practice-feedback-card.good{background:#10241a}
body.aac-dark .practice-feedback-card.focus{background:#2b2119}
body.aac-dark .practice-feedback-card.example{background:#21192d}
body.aac-dark .practice-chip,body.aac-dark .behaviour-tag{border-color:#374039;background:#202622;color:#d9deda}
body.aac-dark .behaviour-tag.missing{border-color:#77543e;background:#2a2019}
body.aac-dark .ai-loader{background:rgba(9,12,10,.94)}
body.aac-dark .ai-loader-card{border-color:#303732;background:#151917;color:#eef1ed;box-shadow:0 28px 85px rgba(0,0,0,.5)}
body.aac-dark .ai-loader-card p,body.aac-dark .ai-stage{color:#979f99}
body.aac-dark .ai-progress{background:#29302b}
body.aac-dark .challenge-card.light{background:linear-gradient(135deg,#171d19,#132018);color:#eef1ed}
body.aac-dark .challenge-card.light h4{color:#fff}
body.aac-dark .challenge-card.light p,body.aac-dark .challenge-card.light .challenge-progress,body.aac-dark .challenge-card.light .challenge-reset{color:#b7beb8}
body.aac-dark .challenge-card.light .challenge-step{border-color:#344139;background:#171d19}
body.aac-dark .challenge-card.light .challenge-step strong{color:#f2f4f1}
body.aac-dark .challenge-card.light .challenge-step span,body.aac-dark .challenge-card.light .challenge-note{color:#9fa7a1}
body.aac-dark .challenge-card.light .challenge-foot{border-top-color:#344139}

/* Theme control */
.aac-theme-toggle{position:relative;display:inline-grid;width:42px;height:42px;place-items:center;border:1px solid #d9ddd7;border-radius:12px;background:#fff;color:#171717;cursor:pointer;overflow:hidden;transition:.2s;box-shadow:0 3px 12px rgba(20,24,20,.05)}
.aac-theme-toggle:hover{transform:translateY(-1px);border-color:#c7ccc5;box-shadow:0 7px 18px rgba(20,24,20,.09)}
.aac-theme-toggle:focus-visible{outline:3px solid rgba(66,138,240,.28);outline-offset:2px}
.aac-theme-icon{position:absolute;display:grid;place-items:center;font-size:17px;transition:transform .35s cubic-bezier(.2,.8,.2,1),opacity .25s}
.aac-theme-sun{opacity:0;transform:translateY(22px) rotate(-90deg)}
.aac-theme-moon{opacity:1;transform:none}
body.aac-dark .aac-theme-toggle{border-color:#343b36;background:#171c19;color:#79beff;box-shadow:0 7px 22px rgba(0,0,0,.22)}
body.aac-dark .aac-theme-sun{opacity:1;transform:none}
body.aac-dark .aac-theme-moon{opacity:0;transform:translateY(-22px) rotate(90deg)}
.aac-theme-ripple{position:fixed;z-index:9998;width:28px;height:28px;border-radius:50%;pointer-events:none;background:#111;transform:translate(-50%,-50%) scale(0);animation:aacThemeRipple .55s ease-out forwards}
body.aac-dark .aac-theme-ripple{background:#f5f6f3}
@keyframes aacThemeRipple{to{transform:translate(-50%,-50%) scale(85);opacity:0}}
@media(max-width:560px){.aac-theme-toggle{width:38px;height:38px;border-radius:10px}}
@media(prefers-reduced-motion:reduce){.aac-theme-icon{transition:none}.aac-theme-ripple{display:none}}
@media print{body.aac-dark{--canvas:#fff;--surface:#fff;--black:#171717;color:#171717;background:#fff!important}.aac-theme-toggle{display:none!important}}

/* AAC v1.1 - Enhanced AI action-plan generation experience */
.ai-loader{overflow:hidden;background:#080a09!important;color:#fff;backdrop-filter:blur(16px)}
.ai-plan-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 20% 22%,rgba(0,132,61,.24),transparent 29%),radial-gradient(circle at 80% 18%,rgba(104,65,170,.28),transparent 28%),radial-gradient(circle at 55% 92%,rgba(66,138,240,.14),transparent 27%),#080a09}
.ai-plan-grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:48px 48px;animation:onboardGrid 16s linear infinite}
.ai-plan-scan{position:absolute;left:0;right:0;top:-35%;height:38%;background:linear-gradient(180deg,transparent,rgba(66,138,240,.025),rgba(255,255,255,.06),rgba(0,132,61,.035),transparent);animation:aacPlanScan 6.8s ease-in-out infinite}
.ai-loader-card{z-index:2;width:min(620px,100%);padding:44px 42px 38px;border:1px solid rgba(255,255,255,.13)!important;border-radius:30px;background:rgba(16,19,17,.78)!important;color:#fff!important;box-shadow:0 35px 110px rgba(0,0,0,.5)!important;backdrop-filter:blur(24px);overflow:hidden}
.ai-loader-card:before{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(120deg,transparent 25%,rgba(255,255,255,.035) 48%,transparent 70%);transform:translateX(-120%);animation:aacPlanSheen 5s ease-in-out infinite}
.ai-loader-card .ai-kicker{color:#79beff}.ai-loader-card h3{font-size:30px;color:#fff}.ai-loader-card p{color:#b8c0ba!important}.ai-loader-card .ai-stage{color:#929b94!important;letter-spacing:.035em}
.ai-plan-core{position:relative;width:126px;height:126px;margin:0 auto 28px;display:grid;place-items:center}
.ai-plan-neural{position:absolute;inset:-42px;border-radius:50%;background:repeating-conic-gradient(from 0deg,transparent 0 13deg,rgba(66,138,240,.15) 14deg 14.5deg,transparent 15deg 27deg);mask-image:radial-gradient(circle,transparent 0 37%,#000 38% 55%,transparent 72%);animation:aacNeuralRotate 14s linear infinite}
.ai-plan-ring{position:absolute;inset:7px;border:1px solid rgba(66,138,240,.36);border-radius:50%;animation:aacLoaderSpin 2.8s linear infinite}.ai-plan-ring.r2{inset:-7px;border-color:rgba(255,255,255,.16);border-style:dashed;animation-duration:5.4s;animation-direction:reverse}
.ai-plan-corebox{position:relative;z-index:3;display:grid;width:70px;height:70px;place-items:center;border-radius:21px;background:#428af0;color:#171717;font-size:17px;font-weight:950;box-shadow:0 0 48px rgba(66,138,240,.2);animation:aacPlanCore 2.4s ease-in-out infinite}
.ai-plan-node{position:absolute;z-index:4;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 13px #428af0}.ai-plan-node.n1{left:3px;top:42px;animation:aacCoreNodeA 2.8s ease-in-out infinite}.ai-plan-node.n2{right:3px;bottom:38px;background:#69e49b;box-shadow:0 0 13px #69e49b;animation:aacCoreNodeB 3.2s ease-in-out infinite}
.ai-thinking i{background:#428af0;box-shadow:0 0 12px rgba(66,138,240,.45)}
.ai-progress{height:5px;background:rgba(255,255,255,.09)}.ai-progress span{background:linear-gradient(90deg,#00843d,#69e49b,#428af0);box-shadow:0 0 15px rgba(66,138,240,.25);animation:none}
@keyframes aacPlanScan{0%{transform:translateY(-100%);opacity:0}18%{opacity:.7}100%{transform:translateY(410%);opacity:0}}
@keyframes aacPlanSheen{0%,55%{transform:translateX(-120%)}80%,100%{transform:translateX(130%)}}
@keyframes aacPlanCore{0%,100%{transform:scale(.96);box-shadow:0 0 34px rgba(66,138,240,.16)}50%{transform:scale(1.04);box-shadow:0 0 58px rgba(66,138,240,.28)}}
@media(prefers-reduced-motion:reduce){.ai-plan-grid,.ai-plan-scan,.ai-loader-card:before,.ai-plan-neural,.ai-plan-ring,.ai-plan-corebox,.ai-plan-node{animation:none!important}}


/* AAC Living Canvas — single permanent workspace identity */
body.aac-living-canvas{--canvas:#090c0a;--surface:rgba(18,23,20,.88);--line:#303832;--muted:#a6aea8;--black:#f2f4f1;background:#090c0a;color:#eef1ed;isolation:isolate}
body.aac-living-canvas .shell{position:relative;z-index:2;min-height:100vh;background:transparent}
.aac-workspace-atmosphere{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:linear-gradient(145deg,#080b09 0%,#0d120f 46%,#090b0a 100%)}
.aac-workspace-atmosphere:before{position:absolute;inset:-25%;content:"";background:conic-gradient(from 20deg at 50% 50%,transparent 0 12%,rgba(0,132,61,.08) 18%,transparent 29%,rgba(104,65,170,.085) 42%,transparent 55%,rgba(66,138,240,.045) 68%,transparent 82%);filter:blur(28px);animation:aacLivingAurora 28s linear infinite}
.aac-atmo-grid{position:absolute;inset:-80px;opacity:.075;background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),rgba(0,0,0,.25));animation:aacLivingGrid 34s linear infinite}
.aac-atmo-glow{position:absolute;border-radius:50%;filter:blur(105px);opacity:.18;will-change:transform}.aac-atmo-glow.g1{width:620px;height:620px;left:-260px;top:10%;background:#00843d;animation:aacGlowOne 24s ease-in-out infinite alternate}.aac-atmo-glow.g2{width:560px;height:560px;right:-220px;top:32%;background:#6841aa;animation:aacGlowTwo 30s ease-in-out infinite alternate}.aac-atmo-glow.g3{width:460px;height:460px;left:38%;bottom:-300px;background:#428af0;opacity:.08;animation:aacGlowThree 27s ease-in-out infinite alternate}
.aac-atmo-orbit{position:absolute;border:1px solid rgba(255,255,255,.055);border-radius:50%;box-shadow:0 0 80px rgba(0,132,61,.025);animation:aacAtmoOrbit 26s linear infinite}.aac-atmo-orbit.o1{width:540px;height:540px;right:4%;top:8%}.aac-atmo-orbit.o2{width:360px;height:360px;left:8%;bottom:4%;border-style:dashed;animation-duration:34s;animation-direction:reverse}
.aac-atmo-particle{position:absolute;width:4px;height:4px;border-radius:50%;background:#428af0;box-shadow:0 0 13px rgba(66,138,240,.7);opacity:.45;animation:aacParticle 15s ease-in-out infinite}.aac-atmo-particle.p1{left:13%;top:24%}.aac-atmo-particle.p2{left:72%;top:17%;background:#65dc94;box-shadow:0 0 13px rgba(101,220,148,.65);animation-delay:-4s}.aac-atmo-particle.p3{left:84%;top:69%;background:#a98add;box-shadow:0 0 13px rgba(169,138,221,.6);animation-delay:-9s}.aac-atmo-particle.p4{left:37%;top:82%;animation-delay:-12s}
body.aac-living-canvas .site-header{background:rgba(10,14,11,.78)!important;border-bottom-color:rgba(255,255,255,.09)!important;box-shadow:0 10px 35px rgba(0,0,0,.18);backdrop-filter:blur(20px) saturate(125%)}
body.aac-living-canvas main .section-card,body.aac-living-canvas .target-card,body.aac-living-canvas .result.show{background:linear-gradient(145deg,rgba(22,28,24,.90),rgba(14,18,16,.86))!important;border-color:rgba(255,255,255,.105)!important;box-shadow:0 18px 50px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.025)!important;backdrop-filter:blur(18px)}
body.aac-living-canvas main .section-card:not(.result):hover{border-color:rgba(66,138,240,.16)!important;box-shadow:0 22px 58px rgba(0,0,0,.24),0 0 0 1px rgba(66,138,240,.025)!important}
body.aac-living-canvas .hero{filter:drop-shadow(0 22px 45px rgba(0,0,0,.22))}
body.aac-living-canvas .hero-main{border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
body.aac-living-canvas .target-card .eyebrow[style]{color:#c6cdc7!important}
body.aac-living-canvas .footer-note{color:#747d76;border-top-color:rgba(255,255,255,.08)}
body.aac-living-canvas .generate-wrap,body.aac-living-canvas .suggested-prompts,body.aac-living-canvas .result-actions{background:rgba(9,13,10,.48)!important;border-color:rgba(255,255,255,.09)!important}
body.aac-living-canvas .dialog{background:rgba(18,23,20,.96)!important;backdrop-filter:blur(24px)}
body.aac-living-canvas .overlay{backdrop-filter:blur(12px)}
@keyframes aacLivingAurora{to{transform:rotate(360deg) scale(1.06)}}
@keyframes aacLivingGrid{to{transform:translate3d(58px,58px,0)}}
@keyframes aacGlowOne{0%{transform:translate3d(0,-5%,0) scale(.9)}100%{transform:translate3d(42vw,18vh,0) scale(1.12)}}
@keyframes aacGlowTwo{0%{transform:translate3d(0,0,0) scale(1)}100%{transform:translate3d(-36vw,24vh,0) scale(.88)}}
@keyframes aacGlowThree{0%{transform:translate3d(-10vw,0,0) scale(.9)}100%{transform:translate3d(20vw,-34vh,0) scale(1.15)}}
@keyframes aacAtmoOrbit{to{transform:rotate(360deg)}}
@keyframes aacParticle{0%,100%{transform:translate3d(0,0,0) scale(.7);opacity:.18}45%{transform:translate3d(65px,-85px,0) scale(1.35);opacity:.65}75%{transform:translate3d(-28px,-150px,0) scale(.9);opacity:.32}}
@media(prefers-reduced-motion:reduce){.aac-workspace-atmosphere *,.aac-workspace-atmosphere:before{animation:none!important}}
@media print{.aac-workspace-atmosphere{display:none!important}body.aac-living-canvas{background:#fff!important;color:#171717!important}}

/* ===== AAC stylesheet block ===== */

/* AAC main hero typography refinement */
.hero-main{padding:46px 48px;min-height:292px}
.hero-main>.eyebrow{margin-bottom:13px;color:rgba(255,255,255,.62);font-size:10px;font-weight:800;letter-spacing:.16em}
.hero h2.aac-personal-title{max-width:700px;margin:0 0 14px;font-size:clamp(29px,3.25vw,40px);font-weight:720;line-height:1.08;letter-spacing:-.032em;text-shadow:0 4px 20px rgba(0,0,0,.28)}
.hero-welcome{display:block;margin:0 0 7px;color:#79beff;font-size:clamp(14px,1.5vw,18px);font-weight:760;line-height:1.2;letter-spacing:-.01em}
.hero-main>p{max-width:650px;color:rgba(255,255,255,.72);font-size:14px;line-height:1.65;letter-spacing:-.005em}
@media(max-width:700px){.hero-main{padding:34px 28px;min-height:270px}.hero h2.aac-personal-title{font-size:clamp(27px,8vw,35px)}.hero-main>p{font-size:13.5px;line-height:1.58}}


/* AAC Living Canvas - final colour/contrast audit */
/* Yellow is always paired with CBA charcoal text for legibility and consistency. */
body.aac-living-canvas .btn-yellow,
body.aac-living-canvas a.btn-yellow,
body.aac-living-canvas button.btn-yellow,
.aac-enter-btn{
  background:#428af0!important;
  color:#171717!important;
  border-color:#428af0!important;
  text-shadow:none!important;
  font-weight:800;
}
body.aac-living-canvas .btn-yellow:hover,
body.aac-living-canvas a.btn-yellow:hover,
body.aac-living-canvas button.btn-yellow:hover,
.aac-enter-btn:hover{
  background:#5ba5f7!important;
  color:#111!important;
  border-color:#5ba5f7!important;
  box-shadow:0 10px 28px rgba(66,138,240,.18)!important;
}
body.aac-living-canvas .btn-yellow:active,
.aac-enter-btn:active{background:#1f5fd1!important;color:#111!important}
body.aac-living-canvas .btn-yellow:focus-visible,
.aac-enter-btn:focus-visible{outline:3px solid rgba(66,138,240,.28)!important;outline-offset:3px}
body.aac-living-canvas .btn-yellow:disabled{background:#44698f!important;color:#171717!important;opacity:.72}

/* Dark actions stay light-on-dark; pale actions stay dark-on-light. */
body.aac-living-canvas .btn-dark,
body.aac-living-canvas .practice-btn{background:#eef1ed!important;color:#151815!important}
body.aac-living-canvas .btn-dark:hover,
body.aac-living-canvas .practice-btn:hover{background:#fff!important;color:#111!important}
body.aac-living-canvas .btn-outline{background:rgba(20,26,22,.86)!important;border-color:#465049!important;color:#edf1ed!important}
body.aac-living-canvas .btn-outline:hover{background:#222a25!important;border-color:#5b665e!important;color:#fff!important}
body.aac-living-canvas .btn-ghost{background:#252d28!important;color:#edf1ed!important}
body.aac-living-canvas .btn-ghost:hover{background:#303934!important;color:#fff!important}

/* Every yellow UI surface uses dark foreground content. */
body.aac-living-canvas .target strong,
body.aac-living-canvas .challenge-step .challenge-num,
body.aac-living-canvas .challenge-fab .target-icon,
body.aac-living-canvas .aac-profile-avatar,
body.aac-living-canvas .export-option-icon,
body.aac-living-canvas .feedback-icon,
.aac-loader-core,
.ai-plan-corebox{
  background:#428af0!important;
  color:#171717!important;
  text-shadow:none!important;
}

/* Completed/green states remain white-on-green for strong contrast. */
body.aac-living-canvas .challenge-step.done .challenge-num,
body.aac-living-canvas .challenge-fab.complete .target-icon,
body.aac-living-canvas .challenge-fab-count,
body.aac-living-canvas .kpi-card.met .badge,
body.aac-living-canvas .kpi-card.miss .badge,
body.aac-living-canvas .kpi-card.exceed .badge{color:#fff!important}

/* Form and menu contrast cleanup across the permanent dark workspace. */
body.aac-living-canvas .field input,
body.aac-living-canvas .field textarea,
body.aac-living-canvas .field select,
body.aac-living-canvas .metric-input,
body.aac-living-canvas .practice-answer{
  background:#101512!important;
  border-color:#3a443d!important;
  color:#eef1ed!important;
}
body.aac-living-canvas .field input::placeholder,
body.aac-living-canvas .field textarea::placeholder,
body.aac-living-canvas .practice-answer::placeholder{color:#7f8982!important}
body.aac-living-canvas .field select option{background:#151a17;color:#eef1ed}
body.aac-living-canvas .suffix,
body.aac-living-canvas .small,
body.aac-living-canvas .required-note{color:#a4ada6!important}
body.aac-living-canvas .field label{color:#d9ded9!important}
body.aac-living-canvas .step{background:#202722!important;border-color:#3a433d!important;color:#b7c0b9!important}

/* Menus/dialog controls: no accidental white tiles in the dark workspace. */
body.aac-living-canvas .export-trigger,
body.aac-living-canvas .export-dropdown,
body.aac-living-canvas .export-option,
body.aac-living-canvas .aac-profile-menu,
body.aac-living-canvas .aac-signout{background:#151a17!important;color:#eef1ed!important}
body.aac-living-canvas .export-dropdown,
body.aac-living-canvas .aac-profile-menu{border-color:#364039!important}
body.aac-living-canvas .export-option:hover,
body.aac-living-canvas .aac-signout:hover{background:#222a25!important}
body.aac-living-canvas .export-option small,
body.aac-living-canvas .aac-signout small{color:#949e96!important}

/* KPI and content cards retain semantic colour without becoming fluorescent. */
body.aac-living-canvas .kpi-card{background:#141a16!important;border-color:#333d36!important}
body.aac-living-canvas .kpi-card.met{background:#10241a!important;border-color:#315f45!important}
body.aac-living-canvas .kpi-card.miss{background:#281716!important;border-color:#70413c!important}
body.aac-living-canvas .kpi-card.exceed{background:#21192d!important;border-color:#574275!important}
body.aac-living-canvas .score-pill{background:#171d19!important;border-color:#333b35!important}
body.aac-living-canvas .plan-card,
body.aac-living-canvas .suggestion,
body.aac-living-canvas .practice-scenario,
body.aac-living-canvas .practice-feedback-card{background:#151a17!important;border-color:#303a33!important}

/* Preserve clean business output regardless of application colours. */
@media print{
  .btn-yellow{background:#428af0!important;color:#171717!important}
}

/* ===== AAC stylesheet block ===== */

/* Light workspace restoration and readable feedback. */
:root{color-scheme:light}
.aac-workspace-atmosphere{display:none!important}
.toast{background:#171717;color:#fff;border:1px solid #454545;
 box-shadow:0 8px 28px rgba(0,0,0,.2);max-width:min(420px,calc(100vw - 32px));
 font-size:14px;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.hero-main>.eyebrow{color:#d8d9d5}
.hero h2.aac-personal-title{max-width:560px;font-weight:800;line-height:1.14;text-wrap:balance}
.hero-main>p{max-width:510px;color:#e2e5df;line-height:1.65}
.hero-welcome{color:#79beff;line-height:1.35;overflow-wrap:anywhere}
@media(max-width:700px){.hero-main{padding:30px 26px}.hero h2.aac-personal-title{font-size:clamp(27px,7.5vw,35px)}}
@media(max-width:480px){.toast{right:16px;bottom:16px;left:16px;max-width:none}}

/* ===== AAC stylesheet block ===== */

/* Light login palette: preserve every animation, timing and interaction. */
.aac-onboarding,.aac-login-loader{background:#f5f6f3;color:#171717;color-scheme:light}
.aac-onboarding-bg{background:radial-gradient(circle at 18% 20%,rgba(0,132,61,.10),transparent 28%),radial-gradient(circle at 82% 18%,rgba(104,65,170,.11),transparent 28%),radial-gradient(circle at 72% 82%,rgba(66,138,240,.17),transparent 25%),linear-gradient(135deg,#fafbf8,#f1f5f0 52%,#fffdf5)}
.aac-onboarding-shell{border-color:#dce3d9;background:rgba(255,255,255,.84);box-shadow:0 35px 100px rgba(39,63,45,.13)}
.aac-onboarding-story{border-color:#dce3d9}
.aac-onboarding-form-wrap{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(250,251,247,.80))}
.aac-onboarding-mark span,.aac-onboarding-copy p,.aac-onboarding-form>p{color:#536052}
.aac-onboarding-kicker,.aac-loader-kicker,.aac-ai-word{color:#725900}
.aac-login-field label{color:#303c30}
.aac-login-field input,.aac-login-field select{border-color:#aebbaa;background:#fff;color:#171717}
.aac-login-field input::placeholder{color:#687266}
.aac-login-field input:focus,.aac-login-field select:focus{border-color:#00843d;background:#fff;box-shadow:0 0 0 4px rgba(0,132,61,.13)}
.aac-login-field.error input,.aac-login-field.error select{border-color:#b42318;box-shadow:0 0 0 4px rgba(180,35,24,.10)}
.aac-login-error{color:#b42318}.aac-login-note{color:#5d695a}
.aac-onboarding-grid,.aac-login-loader-grid{opacity:.35;background-image:linear-gradient(rgba(42,75,51,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(42,75,51,.14) 1px,transparent 1px)}
.aac-onboarding-glow{opacity:.13}
.aac-ai-canvas{mix-blend-mode:multiply;opacity:.78}
.aac-ai-scan{background:linear-gradient(180deg,transparent,rgba(194,151,0,.045),rgba(104,65,170,.07),rgba(0,132,61,.045),transparent)}
.aac-onboarding-story:before{border-color:rgba(151,118,0,.16)}
.aac-neural-halo{background:repeating-radial-gradient(circle,transparent 0 42px,rgba(0,100,48,.055) 43px 44px)}
.aac-data-rail{background:rgba(0,100,48,.12)}
.aac-data-rail:after{background:linear-gradient(transparent,#2a6fd4,#00843d,transparent)}
.aac-login-brand-orbit .orbit-ring{border-color:rgba(153,119,0,.4)}
.aac-login-brand-orbit .orbit-ring.ring-b{border-color:rgba(104,65,170,.28)}
.aac-login-brand-orbit .orbit-dot.dot-b{background:#00843d}
.aac-ai-status{background:rgba(255,255,255,.8);border-color:#cfdbce;color:#426047}
.aac-ai-status i{background:#00843d}
.aac-login-loader-bg{background:radial-gradient(circle at 25% 25%,rgba(0,132,61,.10),transparent 30%),radial-gradient(circle at 78% 24%,rgba(104,65,170,.11),transparent 28%),radial-gradient(circle at 55% 90%,rgba(66,138,240,.18),transparent 28%),#f5f6f3}
.aac-login-loader h2{color:#171717}.aac-login-loader p{color:#536052}
.aac-loader-ring{border-color:rgba(153,119,0,.5)}
.aac-loader-ring.r2{border-color:rgba(104,65,170,.35)}
.aac-loader-neural{background:repeating-conic-gradient(from 0deg,transparent 0 13deg,rgba(153,119,0,.25) 14deg 14.5deg,transparent 15deg 27deg)}
.aac-loader-core:before{background:#6841aa;box-shadow:0 0 12px rgba(104,65,170,.35)}
.aac-loader-core:after{background:#00843d;box-shadow:0 0 12px rgba(0,132,61,.35)}
.aac-loader-track{background:#dce5d8}

/* ===== AAC stylesheet block ===== */

/* Light action-plan generation screen; retain existing AI animations. */
.ai-loader{background:rgba(245,246,243,.97)!important;color:#171717}
.ai-plan-bg{background:radial-gradient(circle at 20% 22%,rgba(0,132,61,.10),transparent 29%),radial-gradient(circle at 80% 18%,rgba(104,65,170,.11),transparent 28%),radial-gradient(circle at 55% 92%,rgba(66,138,240,.18),transparent 27%),#f5f6f3}
.ai-plan-grid{opacity:.35;background-image:linear-gradient(rgba(42,75,51,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(42,75,51,.14) 1px,transparent 1px)}
.ai-plan-scan{background:linear-gradient(180deg,transparent,rgba(194,151,0,.045),rgba(104,65,170,.07),rgba(0,132,61,.045),transparent)}
.ai-loader-card{border-color:#dce3d9!important;background:rgba(255,255,255,.90)!important;color:#171717!important;box-shadow:0 30px 90px rgba(39,63,45,.14)!important}
.ai-loader-card:before{background:linear-gradient(120deg,transparent 25%,rgba(66,138,240,.08) 48%,transparent 70%)}
.ai-loader-card .ai-kicker{color:#725900}
.ai-loader-card h3{color:#171717}
.ai-loader-card p{color:#536052!important}
.ai-loader-card .ai-stage{color:#536052!important}
.ai-plan-neural{background:repeating-conic-gradient(from 0deg,transparent 0 13deg,rgba(153,119,0,.25) 14deg 14.5deg,transparent 15deg 27deg)}
.ai-plan-ring{border-color:rgba(153,119,0,.5)}
.ai-plan-ring.r2{border-color:rgba(104,65,170,.35)}
.ai-plan-node{background:#6841aa;box-shadow:0 0 13px rgba(104,65,170,.35)}
.ai-plan-node.n2{background:#00843d;box-shadow:0 0 13px rgba(0,132,61,.35)}
.ai-loader .ai-thinking i{background:#2d6bc2;box-shadow:0 0 12px rgba(153,119,0,.22)}
.ai-loader .ai-progress{background:#dce5d8}
.ai-loader .ai-progress span{background:linear-gradient(90deg,#00843d,#60aa59,#3b82e8);box-shadow:0 0 15px rgba(153,119,0,.18)}

/* ===== AAC stylesheet block ===== */

/* Line-by-line writing effect; complete text remains available for assistive technology. */
.aac-writing-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 24px 18px;color:#536052;font-size:13px}
.aac-writing-controls>span{display:flex;align-items:center;gap:9px}
.aac-writing-controls>span:before{content:"";width:7px;height:7px;border-radius:50%;background:#00843d;animation:aacWritingPulse 1s ease-in-out infinite}
.aac-writing-controls .btn{font-size:12px;padding:8px 12px;white-space:nowrap}
.aac-writing .aac-writing-word{opacity:0;animation:aacWriteWord .16s ease-out var(--aac-word-delay,0ms) forwards}
@keyframes aacWriteWord{to{opacity:1}}
@keyframes aacWritingPulse{50%{opacity:.35}}
@media(max-width:560px){.aac-writing-controls{margin:0 16px 16px;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.aac-writing .aac-writing-word{opacity:1;animation:none}.aac-writing-controls>span:before{animation:none}}
@media print{.aac-writing-controls{display:none!important}.aac-writing .aac-writing-word{opacity:1!important;animation:none!important}}

/* ===== AAC stylesheet block ===== */

/* Frame the original CBA diamond, excluding its top rule and empty margins. */
.aac-header-logo{position:relative;display:block;width:40px;height:40px;flex:0 0 40px;overflow:hidden}
.aac-header-logo .logo{position:absolute;display:block;width:190.9483%;height:190.9483%;max-width:none;left:-53.0172%;top:-46.5517%;object-fit:fill}
@media(max-width:560px){.aac-header-logo{width:34px;height:34px;flex-basis:34px}.brand{gap:10px}.brand-copy h1{font-size:16px}}

/* ===== AAC stylesheet block ===== */

/* Enlarged, clean login diamond; animate the frame to preserve the crop. */
.aac-onboarding-mark .aac-login-logo-frame{position:relative;z-index:4;display:block;width:56px;height:56px;flex:0 0 56px;margin:0;overflow:hidden;animation:aacLogoSignature 7s cubic-bezier(.45,0,.2,1) infinite;will-change:transform,filter}
.aac-onboarding-mark .aac-login-logo-frame img{position:absolute;display:block;width:190.9483%;height:190.9483%;max-width:none;left:-53.0172%;top:-46.5517%;object-fit:fill;animation:none;filter:none;will-change:auto}
.aac-login-brand-orbit{left:28px;top:50%;width:124px;height:124px;transform:translate(-50%,-50%) scale(.72)}
@media(max-width:560px){.aac-onboarding-mark .aac-login-logo-frame{width:48px;height:48px;flex-basis:48px}.aac-login-brand-orbit{left:24px;transform:translate(-50%,-50%) scale(.64)}}
@media(prefers-reduced-motion:reduce){.aac-onboarding-mark .aac-login-logo-frame{animation:none!important}}

/* ===== AAC stylesheet block ===== */

/* Completed plans cannot be generated again until Start again or sign-out. */
#generateButton:disabled,#sustainButton:disabled{background:#e2e5df!important;border-color:#d0d5cc!important;color:#596154!important;cursor:not-allowed;box-shadow:none!important;transform:none!important;opacity:1}
#aacGenerationHint{flex-basis:100%;line-height:1.5}
#aacGenerationHint[hidden]{display:none!important}

/* ===== AAC stylesheet block ===== */

/* Keep the completion hint from squeezing the generation label and button. */
main .aac-generation-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 24px;padding:20px 22px}
main .aac-generation-panel>p{grid-column:1;grid-row:1;margin:0;max-width:none;font-size:13px;line-height:1.5}
main .aac-generation-panel>#generateButton{grid-column:2;grid-row:1 / span 2;justify-self:end;align-self:center;min-width:190px;width:auto;margin:0;padding:13px 20px;white-space:nowrap;line-height:1.5}
main .aac-generation-panel>#aacGenerationHint{grid-column:1;grid-row:2;margin:0;max-width:600px;font-size:12px;line-height:1.6;color:#646760;overflow-wrap:break-word}
@media(max-width:600px){
 main .aac-generation-panel{grid-template-columns:minmax(0,1fr);gap:10px;padding:18px}
 main .aac-generation-panel>#generateButton{grid-column:1;grid-row:3;justify-self:stretch;min-width:0;width:100%;margin-top:4px;white-space:normal}
}

/* ===== AAC stylesheet block ===== */

/* Finished generation: invite the user into their weekly plan. */
.aac-ready-button{margin-top:28px;min-height:50px;padding:13px 28px;gap:14px;justify-content:center}
.aac-ready-button[hidden]{display:none!important}
.aac-plan-ready .ai-thinking,.aac-plan-ready .ai-progress,.aac-plan-ready .ai-stage{display:none}
.aac-plan-ready .ai-loader-card h3{max-width:480px;margin:12px auto;font-size:clamp(25px,4vw,32px);line-height:1.2;text-wrap:balance}
.aac-plan-ready .ai-loader-card p{max-width:390px;margin:0 auto;line-height:1.65}
@media(max-width:560px){.aac-ready-button{width:100%}}

/* ===== AAC stylesheet block ===== */

/* Future cards and their buttons are absent until their turn in the writing sequence. */
#result .aac-writing-pending{display:none!important}
@media print{#result .aac-writing-pending{display:revert!important}}

/* ===== AAC stylesheet block ===== */

/* A distinct AI completion moment, triggered each time the ready screen opens. */
.aac-ready-check,.aac-ready-ripples,.aac-ready-satellites{display:none}
.aac-plan-ready .aac-core-label{display:none}
.aac-plan-ready .ai-plan-corebox{background:#428af0!important;animation:aacReadyCoreIn .65s cubic-bezier(.16,1,.3,1) both,aacReadyGlow 3s .65s ease-in-out infinite}
.aac-plan-ready .aac-ready-check{display:block;width:44px;height:44px;overflow:visible}
.aac-ready-check path{fill:none;stroke:#17643b;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:56;stroke-dashoffset:56}
.aac-plan-ready .aac-ready-check path{animation:aacReadyDraw .65s .2s ease-out forwards}
.aac-plan-ready .aac-ready-ripples{display:block;position:absolute;inset:10px;pointer-events:none}
.aac-ready-ripples i{position:absolute;inset:0;border:1px solid rgba(0,132,61,.35);border-radius:50%;opacity:0;animation:aacReadyRipple 3.6s ease-out infinite}
.aac-ready-ripples i:nth-child(2){animation-delay:1.2s;border-color:rgba(153,119,0,.3)}
.aac-ready-ripples i:nth-child(3){animation-delay:2.4s;border-color:rgba(104,65,170,.28)}
.aac-plan-ready .aac-ready-satellites{display:block;position:absolute;inset:-15px;border-radius:50%;animation:aacReadyOrbit 14s linear infinite;pointer-events:none}
.aac-ready-satellites i{position:absolute;width:6px;height:6px;border-radius:50%;background:#00843d;box-shadow:0 0 12px rgba(0,132,61,.3)}
.aac-ready-satellites i:nth-child(1){left:50%;top:-3px}
.aac-ready-satellites i:nth-child(2){right:-3px;top:50%;background:#2d73db}
.aac-ready-satellites i:nth-child(3){bottom:-3px;left:50%;background:#6841aa}
.aac-ready-satellites i:nth-child(4){left:-3px;top:50%;width:4px;height:4px}
.aac-plan-ready .ai-plan-ring.r1{border-color:rgba(0,132,61,.4)}
.aac-plan-ready .ai-plan-neural{animation-duration:24s}
.aac-plan-ready .ai-loader-card{animation:aacReadyCardIn .6s ease-out both}
.aac-plan-ready .ai-loader-card h3{animation:aacReadyTextIn .65s .12s ease-out both}
.aac-plan-ready #aiLoaderText{animation:aacReadyTextIn .65s .24s ease-out both}
.aac-plan-ready .aac-ready-button{position:relative;overflow:hidden;animation:aacReadyTextIn .65s .36s ease-out both}
.aac-plan-ready .aac-ready-button:after{content:"";position:absolute;inset:-60% auto -60% -45%;width:30%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,255,255,.5),transparent);transform:rotate(22deg);animation:aacReadyButtonShine 5s 1s ease-in-out infinite}
@keyframes aacReadyDraw{to{stroke-dashoffset:0}}
@keyframes aacReadyCoreIn{from{transform:scale(.72) rotate(-12deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}
@keyframes aacReadyGlow{0%,100%{box-shadow:0 0 28px rgba(66,138,240,.20)}50%{box-shadow:0 0 48px rgba(66,138,240,.38),0 0 75px rgba(0,132,61,.08)}}
@keyframes aacReadyRipple{0%{transform:scale(.8);opacity:0}15%{opacity:.55}100%{transform:scale(1.9);opacity:0}}
@keyframes aacReadyOrbit{to{transform:rotate(360deg)}}
@keyframes aacReadyCardIn{from{transform:translateY(6px)}to{transform:none}}
@keyframes aacReadyTextIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
@keyframes aacReadyButtonShine{0%,65%{left:-45%;opacity:0}70%{opacity:1}95%,100%{left:130%;opacity:0}}
@media(prefers-reduced-motion:reduce){
 .aac-plan-ready .ai-loader-card,.aac-plan-ready .ai-loader-card h3,.aac-plan-ready #aiLoaderText,.aac-plan-ready .aac-ready-button,.aac-plan-ready .ai-plan-corebox,.aac-plan-ready .aac-ready-check path{animation:none!important;opacity:1;transform:none}
 .aac-plan-ready .aac-ready-check path{stroke-dashoffset:0}
 .aac-plan-ready .aac-ready-ripples,.aac-plan-ready .aac-ready-satellites,.aac-plan-ready .aac-ready-button:after{display:none!important}
}

/* ===== AAC stylesheet block ===== */

/* Persistent theme control above onboarding, loaders and dialogs. */
#aacThemeToggle{position:fixed;top:max(16px,env(safe-area-inset-top));left:max(18px,env(safe-area-inset-left));z-index:30000;width:44px;height:44px;border-radius:50%;cursor:pointer!important}
#aacThemeToggle svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#aacThemeToggle:focus-visible{outline:3px solid #00843d;outline-offset:4px}
.site-header .nav{padding-left:84px}.aac-onboarding{padding-top:76px}.aac-login-loader,.ai-loader{padding-top:76px}
body.aac-dark #aacThemeToggle:focus-visible{outline-color:#428af0}
body.aac-dark .btn-yellow{background:#428af0;color:#171717;border-color:#428af0}
body.aac-dark .toast{background:#f1f4ee;color:#171717;border-color:#cbd3c6}
body.aac-dark #aacGenerationHint,body.aac-dark .aac-writing-controls{color:#b6bfb5}
body.aac-dark #generateButton:disabled,body.aac-dark #sustainButton:disabled{background:#303931!important;color:#b7c1b5!important;border-color:#414c42!important}
/* Login and transition screens. */
body.aac-dark .aac-onboarding,body.aac-dark .aac-login-loader{background:#080a09;color:#f2f4f1;color-scheme:dark}
body.aac-dark .aac-onboarding-bg{background:radial-gradient(circle at 18% 20%,rgba(0,132,61,.28),transparent 28%),radial-gradient(circle at 82% 18%,rgba(104,65,170,.32),transparent 28%),radial-gradient(circle at 72% 82%,rgba(66,138,240,.15),transparent 25%),linear-gradient(135deg,#080a09,#121713 52%,#090a09)}
body.aac-dark .aac-onboarding-shell{border-color:#374039;background:rgba(16,18,17,.86);box-shadow:0 35px 110px rgba(0,0,0,.45)}
body.aac-dark .aac-onboarding-story{border-color:#374039}
body.aac-dark .aac-onboarding-form-wrap{background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.02))}
body.aac-dark .aac-onboarding-mark span,body.aac-dark .aac-onboarding-copy p,body.aac-dark .aac-onboarding-form>p{color:#b9c3ba}
body.aac-dark .aac-onboarding-kicker,body.aac-dark .aac-loader-kicker,body.aac-dark .aac-ai-word{color:#79beff}
body.aac-dark .aac-login-field label{color:#e6ece5}
body.aac-dark .aac-login-field input,body.aac-dark .aac-login-field select{border-color:#536053;background:#121813;color:#f2f4ef}
body.aac-dark .aac-login-field select option{background:#171d18;color:#f2f4ef}
body.aac-dark .aac-login-field input::placeholder{color:#a0ac9d}
body.aac-dark .aac-login-field input:focus,body.aac-dark .aac-login-field select:focus{border-color:#428af0;background:#171e18;box-shadow:0 0 0 4px rgba(66,138,240,.13)}
body.aac-dark .aac-login-field.error input,body.aac-dark .aac-login-field.error select{border-color:#ff9388;box-shadow:0 0 0 4px rgba(255,90,75,.12)}
body.aac-dark .aac-login-error{color:#ff9a91}body.aac-dark .aac-login-note{color:#a4b09f}
body.aac-dark .aac-onboarding-grid,body.aac-dark .aac-login-loader-grid,body.aac-dark .ai-plan-grid{opacity:.17;background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px)}
body.aac-dark .aac-onboarding-glow{opacity:.24}
body.aac-dark .aac-ai-canvas{mix-blend-mode:screen;opacity:.72}
body.aac-dark .aac-ai-scan,body.aac-dark .ai-plan-scan{background:linear-gradient(180deg,transparent,rgba(66,138,240,.035),rgba(255,255,255,.06),rgba(0,132,61,.045),transparent)}
body.aac-dark .aac-neural-halo{background:repeating-radial-gradient(circle,transparent 0 42px,rgba(255,255,255,.04) 43px 44px)}
body.aac-dark .aac-data-rail{background:rgba(255,255,255,.12)}
body.aac-dark .aac-data-rail:after{background:linear-gradient(transparent,#428af0,#5be08f,transparent)}
body.aac-dark .aac-login-brand-orbit .orbit-ring,body.aac-dark .aac-loader-ring,body.aac-dark .ai-plan-ring{border-color:rgba(66,138,240,.4)}
body.aac-dark .aac-login-brand-orbit .orbit-ring.ring-b,body.aac-dark .aac-loader-ring.r2,body.aac-dark .ai-plan-ring.r2{border-color:rgba(208,184,255,.35)}
body.aac-dark .aac-login-brand-orbit .orbit-dot.dot-b{background:#69e49b}
body.aac-dark .aac-ai-status{background:rgba(8,10,9,.6);border-color:#3b493e;color:#b4c1b5}
body.aac-dark .aac-login-loader-bg,body.aac-dark .ai-plan-bg{background:radial-gradient(circle at 25% 25%,rgba(0,132,61,.22),transparent 30%),radial-gradient(circle at 78% 24%,rgba(104,65,170,.25),transparent 28%),radial-gradient(circle at 55% 90%,rgba(66,138,240,.13),transparent 28%),#080a09}
body.aac-dark .aac-login-loader h2{color:#f4f6f0}body.aac-dark .aac-login-loader p{color:#b7c2b4}
body.aac-dark .aac-loader-track{background:#2a342b}
body.aac-dark .aac-loader-neural,body.aac-dark .ai-plan-neural{background:repeating-conic-gradient(from 0deg,transparent 0 13deg,rgba(66,138,240,.22) 14deg 14.5deg,transparent 15deg 27deg)}
/* Generation and ready screens retain their existing animations. */
body.aac-dark .ai-loader{background:rgba(8,10,9,.97)!important;color:#f4f6f0}
body.aac-dark .ai-loader-card{border-color:#3b453d!important;background:rgba(17,23,18,.92)!important;color:#f4f6f0!important;box-shadow:0 30px 90px rgba(0,0,0,.5)!important}
body.aac-dark .ai-loader-card h3{color:#f4f6f0}
body.aac-dark .ai-loader-card .ai-kicker{color:#79beff}
body.aac-dark .ai-loader-card p,body.aac-dark .ai-loader-card .ai-stage{color:#b7c2b4!important}
body.aac-dark .ai-plan-node,body.aac-dark .aac-loader-core:before{background:#c6a9fa}
body.aac-dark .ai-plan-node.n2,body.aac-dark .aac-loader-core:after{background:#69e49b}
body.aac-dark .ai-loader .ai-thinking i{background:#428af0}
body.aac-dark .ai-loader .ai-progress{background:#29332b}
body.aac-dark .ai-loader .ai-progress span{background:linear-gradient(90deg,#00843d,#69e49b,#428af0)}
body.aac-dark .aac-ready-satellites i{background:#69e49b}
body.aac-dark .aac-ready-satellites i:nth-child(2){background:#428af0}
body.aac-dark .aac-ready-satellites i:nth-child(3){background:#c6a9fa}
body.aac-dark .aac-ready-ripples i,body.aac-dark .aac-plan-ready .ai-plan-ring.r1{border-color:rgba(105,228,155,.4)}
@media(max-width:560px){#aacThemeToggle{left:12px;top:12px;width:40px;height:40px}.site-header .nav{padding-left:66px;gap:10px}.brand{min-width:0}.brand-copy h1{font-size:14px}.aac-onboarding{padding-top:66px}}
@media print{#aacThemeToggle{display:none!important}}

/* ===== AAC stylesheet block ===== */

/* ================================================================
   AAC Knowledge Engine v2 · local-first coaching intelligence
   ================================================================ */
.aac-v2-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border:1px solid #dfe3dc;border-radius:999px;background:#fff;color:#5c625d;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.aac-v2-badge.official{border-color:#b9d9c6;background:#edf8f1;color:#08753b}.aac-v2-badge.training{border-color:#d9c7ef;background:#f7f1ff;color:#6841aa}.aac-v2-badge.coaching{border-color:#9fcaff;background:#edf6ff;color:#174a92}.aac-v2-badge.performance{border-color:#b9d7e6;background:#edf7fb;color:#12678f}
.aac-ask-nav{background:#171717!important;color:#fff!important;border-color:#171717!important}.aac-ask-nav:hover{background:#2a2a2a!important}.aac-ask-nav .spark{color:#428af0;margin-right:4px}
.aac-v2-dialog{width:min(1120px,calc(100vw - 28px));max-width:1120px;height:min(780px,calc(100vh - 34px));display:flex;flex-direction:column}.aac-v2-dialog .dialog-body{min-height:0;flex:1;padding:0;overflow:hidden}.aac-v2-shell{display:grid;grid-template-columns:minmax(0,1fr) 310px;height:100%;min-height:0}.aac-v2-chat{display:flex;min-width:0;min-height:0;flex-direction:column;background:#f8f9f6}.aac-v2-chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #e2e5df;background:#fff}.aac-v2-chat-head .small{margin:0}.aac-v2-status{display:inline-flex;align-items:center;gap:7px;color:#68706a;font-size:10px;font-weight:800}.aac-v2-status-dot{width:8px;height:8px;border-radius:50%;background:#00843d;box-shadow:0 0 0 4px rgba(0,132,61,.09)}
.aac-v2-messages{flex:1;min-height:0;padding:20px;overflow:auto;scroll-behavior:smooth}.aac-v2-message{display:flex;margin:0 0 15px;gap:9px}.aac-v2-message.user{justify-content:flex-end}.aac-v2-avatar{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:9px;background:#171717;color:#428af0;font-size:9px;font-weight:900}.aac-v2-message.user .aac-v2-avatar{order:2;background:#428af0;color:#171717}.aac-v2-bubble{max-width:min(760px,86%);padding:13px 15px;border:1px solid #dde2dc;border-radius:6px 16px 16px 16px;background:#fff;color:#272b28;font-size:13px;line-height:1.65;box-shadow:0 3px 10px rgba(20,24,20,.035)}.aac-v2-message.user .aac-v2-bubble{border-color:#171717;border-radius:16px 6px 16px 16px;background:#171717;color:#fff}.aac-v2-bubble p{margin:0 0 9px}.aac-v2-bubble p:last-child{margin-bottom:0}.aac-v2-bubble ul{margin:7px 0 5px;padding-left:19px}.aac-v2-bubble li{margin:5px 0}.aac-v2-bubble strong{font-weight:850}.aac-v2-source-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px;padding-top:9px;border-top:1px solid #edf0eb}.aac-v2-source{padding:3px 7px;border-radius:999px;background:#f1f3ef;color:#656c66;font-size:9px;font-weight:800}.aac-v2-source.official{background:#e9f6ef;color:#08753b}.aac-v2-source.training{background:#f5efff;color:#6841aa}
.aac-v2-thinking{display:flex;align-items:center;gap:6px;padding:4px 0}.aac-v2-thinking i{width:6px;height:6px;border-radius:50%;background:#727872;animation:aacV2Think .9s infinite alternate}.aac-v2-thinking i:nth-child(2){animation-delay:.18s}.aac-v2-thinking i:nth-child(3){animation-delay:.36s}@keyframes aacV2Think{to{transform:translateY(-5px);background:#00843d}}
.aac-v2-quick{display:flex;gap:7px;padding:10px 15px 0;overflow:auto}.aac-v2-quick button{flex:0 0 auto;padding:7px 10px;border:1px solid #dce1da;border-radius:999px;background:#fff;color:#3d433e;font-size:10px;font-weight:750;cursor:pointer}.aac-v2-quick button:hover{border-color:#aeb6af;background:#f6f7f4}
.aac-v2-composer{padding:12px 15px 15px;background:#f8f9f6}.aac-v2-input-wrap{display:flex;align-items:flex-end;gap:8px;padding:8px;border:1px solid #cfd5ce;border-radius:15px;background:#fff;box-shadow:0 4px 18px rgba(20,24,20,.05)}.aac-v2-input-wrap:focus-within{border-color:#00843d;box-shadow:0 0 0 3px rgba(0,132,61,.08)}.aac-v2-input{width:100%;min-height:42px;max-height:130px;padding:8px 9px;resize:none;border:0!important;background:transparent!important;box-shadow:none!important;outline:0;color:#171717;font:inherit;font-size:13px;line-height:1.45}.aac-v2-send{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border:0;border-radius:9px;background:#428af0;color:#171717;font-size:15px;font-weight:800;line-height:1;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12);transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.aac-v2-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.15)}.aac-v2-send:disabled{opacity:.45;cursor:not-allowed}.aac-v2-privacy{margin:6px 4px 0;color:#7b817c;font-size:9px}
.aac-v2-context{min-height:0;padding:17px;border-left:1px solid #e0e4de;background:#fff;overflow:auto}.aac-v2-context h4{margin:0 0 5px;font-size:13px}.aac-v2-context-section{padding:13px 0;border-bottom:1px solid #ecefea}.aac-v2-context-section:first-child{padding-top:0}.aac-v2-context-section:last-child{border-bottom:0}.aac-v2-context-label{display:block;margin-bottom:7px;color:#808680;font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.aac-v2-context-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.aac-v2-context-tile{padding:9px;border:1px solid #e2e6e0;border-radius:10px;background:#f8f9f6}.aac-v2-context-tile span{display:block;color:#7d837e;font-size:8px;font-weight:800;text-transform:uppercase}.aac-v2-context-tile strong{display:block;margin-top:3px;font-size:13px}.aac-v2-root-list{display:grid;gap:7px}.aac-v2-root{padding:9px 10px;border-left:3px solid #6841aa;border-radius:7px;background:#f7f3fb}.aac-v2-root strong{display:block;color:#503073;font-size:11px}.aac-v2-root span{display:block;margin-top:3px;color:#6c6f6b;font-size:9px;line-height:1.45}.aac-v2-context-actions{display:grid;gap:7px}.aac-v2-context-actions .btn{width:100%;justify-content:center}
.aac-v2-kb-dialog{width:min(960px,calc(100vw - 28px));max-width:960px}.aac-v2-kb-grid{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:18px}.aac-v2-form-card,.aac-v2-info-card{padding:16px;border:1px solid #dfe3dc;border-radius:13px;background:#f8f9f6}.aac-v2-info-card{background:#fff}.aac-v2-form-card h4,.aac-v2-info-card h4{margin:0 0 10px}.aac-v2-kb-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:11px}.aac-v2-kb-stat{padding:10px;border:1px solid #e1e5df;border-radius:10px;background:#fff;text-align:center}.aac-v2-kb-stat strong{display:block;font-size:18px}.aac-v2-kb-stat span{color:#7a807b;font-size:8px;font-weight:800;text-transform:uppercase}.aac-v2-doc-list{display:grid;max-height:310px;gap:7px;overflow:auto}.aac-v2-doc{padding:10px;border:1px solid #e2e6e0;border-radius:10px;background:#fff}.aac-v2-doc-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.aac-v2-doc strong{font-size:11px}.aac-v2-doc p{display:-webkit-box;margin:6px 0 0;overflow:hidden;color:#6d736e;font-size:9px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}.aac-v2-doc button{padding:4px 6px;border:0;background:transparent;color:#9b3430;font-size:9px;font-weight:800;cursor:pointer}.aac-v2-endpoint{margin-top:14px;padding-top:14px;border-top:1px solid #e2e6e0}.aac-v2-endpoint-note{padding:10px;border:1px solid #9fcaff;border-radius:10px;background:#edf6ff;color:#244d7c;font-size:9px;line-height:1.5}
.aac-v2-progress-dialog{width:min(980px,calc(100vw - 28px));max-width:980px}.aac-v2-progress-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}.aac-v2-trend-card{padding:13px;border:1px solid #dfe3dc;border-radius:12px;background:#f8f9f6}.aac-v2-trend-card span{display:block;color:#777e78;font-size:9px;font-weight:800;text-transform:uppercase}.aac-v2-trend-card strong{display:block;margin:4px 0;font-size:20px}.aac-v2-trend-card small{font-size:9px}.aac-v2-trend-up{color:#00843d}.aac-v2-trend-down{color:#b42318}.aac-v2-history{display:grid;gap:9px}.aac-v2-history-row{display:grid;grid-template-columns:100px 1.15fr repeat(4,.65fr) 1fr;gap:8px;align-items:center;padding:11px 12px;border:1px solid #e0e4de;border-radius:11px;background:#fff;font-size:10px}.aac-v2-history-row.head{border:0;background:#f4f5f2;color:#757c76;font-size:8px;font-weight:900;text-transform:uppercase}.aac-v2-history-row .metric{font-weight:850}.aac-v2-history-row .focus{color:#5f665f}.aac-v2-empty{padding:28px;border:1px dashed #cfd5ce;border-radius:12px;color:#737a74;text-align:center;font-size:12px}
.aac-history-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}.aac-history-add-btn{display:inline-flex;align-items:center;gap:8px}.aac-history-add-btn .plus{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#171717;color:#fff;font-size:16px;line-height:1}.aac-history-add-panel{display:none;margin:0 0 18px;padding:16px;border:1px solid #dfe3dc;border-radius:14px;background:#f8f9f6}.aac-history-add-panel.show{display:block;animation:aacHistoryPanelIn .2s ease}.aac-history-add-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.aac-history-add-title strong{font-size:14px}.aac-history-add-title span{display:block;margin-top:3px;color:#747b75;font-size:10px}.aac-history-form{display:grid;grid-template-columns:1.2fr repeat(4,1fr) auto;gap:9px;align-items:end}.aac-history-field label{display:block;margin:0 0 5px;color:#676e68;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.aac-history-field input{width:100%;height:38px;padding:0 10px;border:1px solid #d4d9d3;border-radius:9px;background:#fff;color:#171717;font:inherit;font-size:11px;outline:none}.aac-history-field input:focus{border-color:#2d73db;box-shadow:0 0 0 3px rgba(66,138,240,.16)}.aac-history-save{height:38px;white-space:nowrap}.aac-history-chart-card{margin:0 0 18px;padding:16px 16px 12px;border:1px solid #dfe3dc;border-radius:14px;background:#fff}.aac-history-chart-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.aac-history-chart-head strong{display:block;font-size:14px}.aac-history-chart-head small{display:block;margin-top:3px;color:#777e78;font-size:10px}.aac-history-chart-tabs{display:flex;gap:5px;flex-wrap:wrap}.aac-history-chart-tab{border:1px solid #d9ddd7;border-radius:999px;background:#f7f8f5;color:#555d56;padding:6px 9px;font-size:9px;font-weight:850;cursor:pointer}.aac-history-chart-tab.active{border-color:#171717;background:#171717;color:#fff}.aac-history-chart{min-height:190px;overflow:hidden}.aac-history-bars{height:180px;display:flex;align-items:flex-end;gap:10px;padding:18px 4px 0;border-bottom:1px solid #e5e8e3}.aac-history-bar-wrap{height:100%;min-width:42px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.aac-history-bar-value{font-size:9px;font-weight:850;color:#4f5650}.aac-history-bar{width:min(46px,72%);min-height:4px;border-radius:8px 8px 3px 3px;transition:height .35s cubic-bezier(.2,.8,.2,1),transform .18s ease;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}.aac-history-bar:hover{transform:translateY(-2px)}.aac-history-bar-label{min-height:24px;color:#6e756f;font-size:8px;font-weight:750;text-align:center;line-height:1.2}.aac-history-chart-empty{height:170px;display:grid;place-items:center;color:#7a817b;font-size:11px}.aac-history-source{display:inline-block;margin-top:3px;color:#929892;font-size:8px}.aac-history-remove{border:0;background:transparent;color:#a7ada8;font-size:13px;cursor:pointer;padding:2px 4px;border-radius:5px}.aac-history-remove:hover{background:#f4e9e7;color:#b42318}@keyframes aacHistoryPanelIn{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
body.aac-dark .aac-history-add-panel,body.aac-dark .aac-history-chart-card{border-color:#303732;background:#151a17}body.aac-dark .aac-history-field label,body.aac-dark .aac-history-chart-head small{color:#929a94}body.aac-dark .aac-history-field input{border-color:#39413b;background:#101412;color:#eef1ed}body.aac-dark .aac-history-chart-tab{border-color:#343b36;background:#1a201c;color:#b9c0ba}body.aac-dark .aac-history-chart-tab.active{border-color:#428af0;background:#428af0;color:#171717}body.aac-dark .aac-history-bars{border-bottom-color:#303732}body.aac-dark .aac-history-bar-value{color:#d8ddd9}body.aac-dark .aac-history-bar-label{color:#949c96}body.aac-dark .aac-history-add-btn .plus{background:#428af0;color:#171717}
@media(max-width:800px){.aac-history-form{grid-template-columns:1fr 1fr 1fr}.aac-history-save{grid-column:1/-1}.aac-history-chart-head{display:block}.aac-history-chart-tabs{margin-top:10px}.aac-history-bars{gap:5px;overflow-x:auto}.aac-history-bar-wrap{min-width:48px}}

.aac-v2-insight-card{position:relative;overflow:hidden}.aac-v2-insight-card:before{position:absolute;top:0;bottom:0;left:0;width:5px;background:#6841aa;content:""}.aac-v2-cause-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:11px}.aac-v2-cause-chip{padding:10px;border:1px solid #ded5ea;border-radius:10px;background:#faf7fd}.aac-v2-cause-chip strong{display:block;color:#5b377d;font-size:11px}.aac-v2-cause-chip span{display:block;margin-top:3px;color:#686d68;font-size:9px;line-height:1.45}.aac-v2-severity{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.aac-v2-severity span{padding:5px 8px;border-radius:999px;background:#f1f3ef;color:#59605a;font-size:9px;font-weight:800}.aac-v2-severity span.primary{background:#171717;color:#428af0}
.aac-v2-kb-link{border:0;background:transparent;color:#5c625d;font-size:10px;font-weight:800;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.aac-v2-kb-link:hover{color:#171717}
body.aac-dark .aac-v2-badge{border-color:#333a35;background:#171c19;color:#aeb5af}body.aac-dark .aac-v2-badge.official{background:#10241a;color:#79dca2}body.aac-dark .aac-v2-badge.training{background:#21192d;color:#c8aaf2}body.aac-dark .aac-v2-badge.coaching{background:#29230e;color:#86bcff}body.aac-dark .aac-v2-badge.performance{background:#12232b;color:#82c7e6}
body.aac-dark .aac-ask-nav{background:#f1f3ef!important;color:#121513!important;border-color:#f1f3ef!important}body.aac-dark .aac-ask-nav .spark{color:#7c5bad}
body.aac-dark .aac-v2-chat{background:#0e1210}body.aac-dark .aac-v2-chat-head,body.aac-dark .aac-v2-context{border-color:#2c322e;background:#151917}body.aac-dark .aac-v2-chat-head .small,body.aac-dark .aac-v2-status{color:#919993}body.aac-dark .aac-v2-messages{background:#0f1311}body.aac-dark .aac-v2-bubble{border-color:#303732;background:#171c19;color:#e8ebe7;box-shadow:none}body.aac-dark .aac-v2-message.user .aac-v2-bubble{border-color:#e8ebe7;background:#eef1ed;color:#111411}body.aac-dark .aac-v2-source-row{border-color:#2b312d}body.aac-dark .aac-v2-source{background:#242a26;color:#abb2ac}body.aac-dark .aac-v2-quick,body.aac-dark .aac-v2-composer{background:#0f1311}body.aac-dark .aac-v2-quick button{border-color:#343b36;background:#171c19;color:#cdd2ce}body.aac-dark .aac-v2-input-wrap{border-color:#3a423c;background:#121614}body.aac-dark .aac-v2-input{color:#eef1ed!important}body.aac-dark .aac-v2-privacy{color:#747c76}body.aac-dark .aac-v2-context{border-color:#2d332f}body.aac-dark .aac-v2-context-section{border-color:#2b312d}body.aac-dark .aac-v2-context-tile,body.aac-dark .aac-v2-form-card,body.aac-dark .aac-v2-trend-card{border-color:#303732;background:#171c19}body.aac-dark .aac-v2-context-tile span,body.aac-dark .aac-v2-context-label{color:#8e9690}body.aac-dark .aac-v2-root{background:#21192d}body.aac-dark .aac-v2-root span{color:#aeb5af}body.aac-dark .aac-v2-info-card,body.aac-dark .aac-v2-doc,body.aac-dark .aac-v2-history-row{border-color:#303732;background:#151a17;color:#e8ebe7}body.aac-dark .aac-v2-kb-stat{border-color:#303732;background:#111512}body.aac-dark .aac-v2-doc p,body.aac-dark .aac-v2-history-row .focus{color:#9ca39d}body.aac-dark .aac-v2-endpoint{border-color:#303732}body.aac-dark .aac-v2-endpoint-note{border-color:#5e5424;background:#29230e;color:#8dbaf2}body.aac-dark .aac-v2-history-row.head{background:#202522;color:#929a94}body.aac-dark .aac-v2-empty{border-color:#3b433d;color:#8f9791}body.aac-dark .aac-v2-cause-chip{border-color:#49375e;background:#21192d}body.aac-dark .aac-v2-cause-chip span{color:#aeb5af}body.aac-dark .aac-v2-severity span{background:#242a26;color:#b2b9b3}body.aac-dark .aac-v2-severity span.primary{background:#428af0;color:#171717}
@media(max-width:900px){.aac-v2-shell{grid-template-columns:1fr}.aac-v2-context{display:none}.aac-v2-kb-grid{grid-template-columns:1fr}.aac-v2-progress-summary{grid-template-columns:1fr 1fr}.aac-v2-history-row{grid-template-columns:78px 1fr repeat(2,.65fr)}.aac-v2-history-row>*:nth-child(5),.aac-v2-history-row>*:nth-child(6),.aac-v2-history-row>*:nth-child(7){display:none}.aac-header-actions .aac-v2-progress-nav{display:none}}
@media(max-width:620px){.aac-header-actions .feedback-nav-btn{display:none}.aac-ask-nav{padding:9px 10px!important;font-size:0!important}.aac-ask-nav .spark{margin:0;font-size:14px}.aac-v2-dialog{height:calc(100vh - 14px);width:calc(100vw - 14px)}.aac-v2-messages{padding:14px}.aac-v2-bubble{max-width:92%}.aac-v2-quick{padding-left:11px}.aac-v2-composer{padding:10px}.aac-v2-progress-summary{grid-template-columns:1fr 1fr}.aac-v2-kb-grid{display:block}.aac-v2-info-card{margin-top:12px}}

/* ===== AAC stylesheet block ===== */

/* Ask AAC · compact static launcher */
.aac-ask-fab{
 position:fixed;right:22px;top:50%;z-index:110;width:50px;height:50px;padding:0;
 border:1px solid rgba(255,255,255,.12);border-radius:50%;
 background:#171917;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.20);
 opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-50%);
 cursor:pointer;font-family:inherit;
}
.aac-ask-fab.show{opacity:1;visibility:visible;pointer-events:auto}
.aac-ask-fab-core{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%}
.aac-ai-logo{width:25px;height:25px;display:block}
.aac-ai-logo .ai-spark{fill:#428af0}
.aac-ai-logo .ai-mark{fill:#fff;font:900 10px/1 Arial,sans-serif;letter-spacing:-.5px}
.aac-ask-fab:hover,.aac-ask-fab:focus-visible{outline:2px solid rgba(66,138,240,.5);outline-offset:3px;background:#202320}
.aac-ask-fab:active{background:#111311}
.aac-ask-fab:after{position:absolute;right:60px;top:50%;padding:7px 9px;border-radius:8px;background:#171917;color:#fff;content:'Ask AAC';font-size:11px;font-weight:750;white-space:nowrap;opacity:0;pointer-events:none;transform:translateY(-50%)}
.aac-ask-fab:hover:after,.aac-ask-fab:focus-visible:after{opacity:1}
body.aac-dark .aac-ask-fab{background:#111311;border-color:rgba(255,255,255,.14)}
#aacKnowledgeModal{display:none!important}
.aac-writing .aac-writing-word,.aac-writing-word{opacity:1!important;animation:none!important}
#result .aac-writing-pending{display:revert!important}
.aac-writing-controls{display:none!important}
.aac-v2-chat-head{min-height:48px}
.aac-v2-chat-head>.small{font-weight:600;color:#666d67}

/* ===== AAC stylesheet block ===== */

/* AAC v4 — natural, distraction-free chat */
.aac-v2-dialog{width:min(820px,calc(100vw - 28px));max-width:820px}
.aac-v2-shell{grid-template-columns:minmax(0,1fr)!important}
#aacV2ContextPanel,.aac-v2-context{display:none!important}
.aac-v2-source-row,.aac-v2-source{display:none!important}
.aac-v2-chat-head{padding:11px 16px}
.aac-v2-chat-head>.small{font-size:12px;font-weight:650;color:#59615b}
.aac-v2-messages{padding:20px 18px 14px}
.aac-v2-bubble{max-width:min(700px,90%);line-height:1.62}
.aac-v2-message.assistant .aac-v2-bubble{padding:13px 15px}
.aac-v2-message.user .aac-v2-bubble{padding:11px 14px}
.aac-v2-quick{gap:7px;padding:8px 16px 10px;transition:opacity .18s ease,max-height .2s ease,padding .2s ease;overflow:hidden}
.aac-v2-quick.aac-quick-hidden{opacity:0;max-height:0;padding-top:0;padding-bottom:0;pointer-events:none}
.aac-v2-quick button{font-size:11px;padding:7px 10px}
.aac-v2-privacy{font-size:10px;opacity:.72}
body.aac-dark .aac-v2-chat-head>.small{color:#a4aca6}
@media(max-width:720px){.aac-v2-dialog{width:calc(100vw - 14px);height:calc(100vh - 14px)}.aac-v2-bubble{max-width:92%}}

/* Ask AAC session controls */
.aac-chat-head-actions{display:flex;align-items:center;gap:8px}.aac-chat-action{appearance:none;border:1px solid #d7ddd7;border-radius:9px;background:#fff;color:#4d554f;padding:6px 9px;font:inherit;font-size:10px;font-weight:800;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.aac-chat-action:hover{border-color:#aeb7b0;background:#f4f6f3;color:#171917}.aac-chat-action.end{border-color:#e8d7d4;color:#8d2b22}.aac-chat-action.end:hover{border-color:#d8aaa4;background:#fff3f1;color:#711d16}body.aac-dark .aac-chat-action{border-color:#343b36;background:#171c19;color:#bac1bb}body.aac-dark .aac-chat-action:hover{border-color:#59615b;background:#202622;color:#f1f3f0}body.aac-dark .aac-chat-action.end{border-color:#63423e;color:#e5aaa3}body.aac-dark .aac-chat-action.end:hover{background:#2a1917;color:#ffc1ba}@media(max-width:620px){.aac-chat-head-actions{gap:5px}.aac-chat-action{padding:6px 7px;font-size:9px}.aac-v2-status{display:none}}

/* ===== AAC stylesheet block ===== */

/* Final UI: left challenge, lower-right Ask AAC, docked chat. */
.challenge-fab{
 left:22px!important;right:auto!important;bottom:22px!important;
 animation:none!important;transform:none!important;
 box-shadow:0 10px 24px rgba(0,0,0,.22)!important;
 transition:transform .16s ease,background .16s ease,border-color .16s ease!important;
}
.challenge-fab:hover{transform:translateY(-2px)!important;box-shadow:0 12px 28px rgba(0,0,0,.24)!important}
.challenge-fab.complete{animation:none!important;box-shadow:0 10px 24px rgba(0,0,0,.20)!important}

.aac-ask-fab{
 top:auto!important;right:22px!important;bottom:22px!important;
 transform:none!important;z-index:132!important;
 transition:opacity .18s ease,visibility .18s ease,transform .18s ease,background .18s ease,border-color .18s ease!important;
}
.aac-ask-fab.show{transform:none!important}
.aac-ask-fab:hover,.aac-ask-fab:focus-visible{transform:translateY(-2px)!important}
.aac-ask-fab.chat-open{background:#428af0!important;border-color:#428af0!important;transform:scale(.96)!important;box-shadow:0 8px 20px rgba(0,0,0,.22)!important}
.aac-ask-fab.chat-open .ai-spark,.aac-ask-fab.chat-open .ai-mark{fill:#171917!important}
.aac-ask-fab.chat-open:after{content:'Close AAC'}

/* Ask AAC is a dock attached to the launcher, not a full-screen modal. */
#aacAskModal{
 display:block!important;inset:0!important;padding:0!important;
 align-items:initial!important;justify-content:initial!important;
 background:transparent!important;backdrop-filter:none!important;
 opacity:0;visibility:hidden;pointer-events:none;
 transition:opacity .16s ease,visibility 0s linear .22s!important;
}
#aacAskModal.show{
 opacity:1;visibility:visible;pointer-events:none;
 transition:opacity .16s ease,visibility 0s linear 0s!important;
}
#aacAskModal .aac-v2-dialog{
 position:absolute;right:18px;bottom:84px;
 width:min(520px,calc(100vw - 30px))!important;
 max-width:520px!important;height:min(680px,calc(100vh - 108px))!important;
 max-height:none!important;border-radius:18px!important;
 overflow:visible!important;pointer-events:auto;
 opacity:0;transform:translateY(22px) scale(.965);
 transform-origin:calc(100% - 26px) 100%;
 transition:transform .22s cubic-bezier(.2,.8,.2,1),opacity .16s ease!important;
 box-shadow:0 24px 70px rgba(0,0,0,.28)!important;
}
#aacAskModal .aac-v2-dialog:after{
 content:"";position:absolute;right:22px;bottom:-7px;width:14px;height:14px;
 background:#fff;border-right:1px solid #dfe3dc;border-bottom:1px solid #dfe3dc;
 transform:rotate(45deg);z-index:3;
}
#aacAskModal.show .aac-v2-dialog{opacity:1;transform:translateY(0) scale(1)}
#aacAskModal.aac-chat-closing .aac-v2-dialog{opacity:0;transform:translateY(18px) scale(.97)}
#aacAskModal.aac-chat-closing{opacity:0}
#aacAskModal .dialog-head{border-radius:18px 18px 0 0}
#aacAskModal .dialog-body{border-radius:0 0 18px 18px;overflow:hidden}
body.aac-dark #aacAskModal .aac-v2-dialog:after{background:#151917;border-color:#303732}

@media(max-width:620px){
 .challenge-fab{left:12px!important;right:auto!important;bottom:12px!important}
 .aac-ask-fab{right:12px!important;bottom:12px!important}
 #aacAskModal .aac-v2-dialog{
  right:8px;bottom:74px;width:calc(100vw - 16px)!important;max-width:none!important;
  height:min(650px,calc(100vh - 90px))!important;border-radius:16px!important;
 }
 #aacAskModal .aac-v2-dialog:after{right:25px}
}
@media(prefers-reduced-motion:reduce){
 #aacAskModal,#aacAskModal .aac-v2-dialog,.aac-ask-fab,.challenge-fab{transition:none!important}
}

/* ===== AAC stylesheet block ===== */

/* Ask AAC — plain text launcher with star mark */
.aac-ask-fab{width:auto!important;min-width:116px!important;height:44px!important;padding:0 16px!important;border-radius:12px!important}
.aac-ask-fab-core{position:static!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;white-space:nowrap}
.aac-ask-star{color:#428af0;font-size:19px;line-height:1;font-weight:900;transform:translateY(-1px)}
.aac-ask-label{color:#fff;font-size:13px;line-height:1;font-weight:850;letter-spacing:-.1px}
.aac-ask-fab:after{display:none!important}
.aac-ask-fab.chat-open .aac-ask-star,.aac-ask-fab.chat-open .aac-ask-label{color:#171917!important}

/* Important AI use notice */
.aac-v2-messages + .aac-ai-notice{margin:10px 15px 8px;}
.aac-ai-notice{margin:0;padding:11px 12px;border:1px solid #e3d7a2;border-radius:12px;background:#fffdf3;color:#242824}
.aac-ai-notice-title{display:flex;align-items:center;gap:7px;margin-bottom:8px;font-size:11px;font-weight:900;color:#2a2d2a}
.aac-ai-notice-icon{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#428af0;color:#171917;font-size:11px;font-weight:950}
.aac-ai-notice-grid{display:grid;gap:6px}
.aac-ai-notice-item{display:grid;grid-template-columns:8px 1fr;gap:8px;align-items:start;font-size:9.5px;line-height:1.42;color:#555d57}
.aac-ai-notice-item strong{font-weight:850}
.aac-ai-notice-dot{width:7px;height:7px;border-radius:50%;margin-top:3px}
.aac-ai-notice-item.danger .aac-ai-notice-dot{background:#d92d20}.aac-ai-notice-item.danger strong{color:#b42318}
.aac-ai-notice-item.caution .aac-ai-notice-dot{background:#3b82e8}.aac-ai-notice-item.caution strong{color:#225ca8}
.aac-ai-notice-item.safe .aac-ai-notice-dot{background:#12a150}.aac-ai-notice-item.safe strong{color:#08783c}
body.aac-dark .aac-ai-notice{border-color:#5b5227;background:#211f13;color:#e9ece8}
body.aac-dark .aac-ai-notice-title{color:#f0f2ef}
body.aac-dark .aac-ai-notice-item{color:#b8c0ba}
body.aac-dark .aac-ai-notice-item.danger strong{color:#ff9b91}
body.aac-dark .aac-ai-notice-item.caution strong{color:#9fcaff}
body.aac-dark .aac-ai-notice-item.safe strong{color:#75d79d}
@media(max-width:620px){.aac-ask-fab{min-width:104px!important;height:42px!important;padding:0 13px!important}.aac-ask-label{font-size:12px}.aac-ai-notice{padding:10px}.aac-ai-notice-item{font-size:9px}}

/* ===== AAC stylesheet block ===== */

/* Animated AI star: colourful, subtle and always alive without moving the button itself. */
.aac-ask-star{
  display:inline-block;
  color:transparent!important;
  background:linear-gradient(120deg,#428af0 0%,#ff6b9d 28%,#9b7bff 55%,#39d5ff 78%,#69e49b 100%);
  background-size:260% 260%;
  -webkit-background-clip:text;background-clip:text;
  filter:drop-shadow(0 0 5px rgba(155,123,255,.38));
  transform-origin:center;
  animation:aacAiStarGlow 3.2s ease-in-out infinite,aacAiStarFloat 2.4s ease-in-out infinite;
}
@keyframes aacAiStarGlow{0%,100%{background-position:0% 50%;filter:drop-shadow(0 0 4px rgba(66,138,240,.28))}50%{background-position:100% 50%;filter:drop-shadow(0 0 8px rgba(57,213,255,.52))}}
@keyframes aacAiStarFloat{0%,100%{transform:translateY(-1px) rotate(0deg) scale(1)}50%{transform:translateY(-2px) rotate(10deg) scale(1.14)}}
.aac-ask-fab:hover .aac-ask-star{animation-duration:1.45s,1.2s}
.aac-ask-fab.chat-open .aac-ask-star{color:transparent!important}

/* Challenge launcher: stable icon button that expands smoothly on hover/focus. */
.challenge-fab{
  box-sizing:border-box!important;
  width:50px!important;min-width:50px!important;max-width:50px!important;height:50px!important;
  padding:0!important;gap:0!important;overflow:hidden!important;
  display:none;align-items:center!important;justify-content:flex-start!important;
  border-radius:15px!important;white-space:nowrap!important;
  animation:none!important;transform:none!important;
  transition:max-width .24s cubic-bezier(.2,.8,.2,1),width .24s cubic-bezier(.2,.8,.2,1),box-shadow .18s ease,background .18s ease,border-color .18s ease!important;
}
.challenge-fab.show{display:flex!important}
.challenge-fab .target-icon{
  box-sizing:border-box!important;display:grid!important;place-items:center!important;
  width:48px!important;min-width:48px!important;height:48px!important;
  margin:0!important;padding:0!important;background:transparent!important;font-size:21px!important;
  flex:0 0 48px!important;pointer-events:none!important;
}
.challenge-fab .fab-label{
  display:block!important;flex:0 0 auto!important;max-width:none!important;
  margin:0 14px 0 7px!important;padding:0!important;
  opacity:0!important;visibility:hidden!important;transform:translateX(-5px)!important;
  overflow:visible!important;white-space:nowrap!important;font-size:12px!important;
  pointer-events:none!important;
  transition:opacity .16s ease .04s,transform .22s ease .02s,visibility 0s linear .22s!important;
}
.challenge-fab .challenge-fab-count{display:none!important}
.challenge-fab:hover,.challenge-fab:focus-visible,.challenge-fab:focus-within{
  width:166px!important;min-width:166px!important;max-width:166px!important;
  transform:none!important;box-shadow:0 13px 30px rgba(0,0,0,.26)!important;
}
.challenge-fab:hover .fab-label,.challenge-fab:focus-visible .fab-label,.challenge-fab:focus-within .fab-label{
  opacity:1!important;visibility:visible!important;transform:translateX(0)!important;
  transition:opacity .16s ease .05s,transform .22s ease .02s,visibility 0s!important;
}

/* Give the welcome hero a little more presence while keeping the existing layout. */
.hero .aac-personal-title{max-width:760px}
.hero .aac-personal-title + p{max-width:760px;font-size:14px;line-height:1.7}
.hero .aac-personal-title + p strong{color:#79beff;font-weight:850}
body:not(.aac-dark) .hero .aac-personal-title + p strong{color:#8bc7ff}

@media(prefers-reduced-motion:reduce){.aac-ask-star{animation:none!important}.challenge-fab{transition:none!important}}
@media(max-width:560px){.challenge-fab:hover,.challenge-fab:focus-visible,.challenge-fab:focus-within{width:166px!important;min-width:166px!important;max-width:166px!important}.challenge-fab .fab-label{display:block!important}}

/* ===== AAC stylesheet block ===== */

/* Ask AAC post-plan nudge: appears once, five seconds after the plan is revealed. */
.aac-ask-nudge{position:fixed;right:22px;bottom:76px;z-index:111;max-width:245px;padding:11px 13px;border:1px solid rgba(66,138,240,.42);border-radius:14px 14px 4px 14px;background:#fff;color:#202420;box-shadow:0 12px 34px rgba(0,0,0,.18);font:700 12px/1.45 inherit;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px) scale(.97);transition:opacity .22s ease,transform .22s ease,visibility 0s linear .22s;cursor:pointer;text-align:left}
.aac-ask-nudge.show{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1);transition:opacity .22s ease,transform .22s ease,visibility 0s}
.aac-ask-nudge strong{font-weight:900}.aac-ask-nudge .nudge-star{display:inline-block;margin-right:5px;color:#9b7bff;animation:aacAiStarFloat 2.4s ease-in-out infinite}
.aac-ask-nudge:after{content:'';position:absolute;right:18px;bottom:-7px;width:12px;height:12px;background:inherit;border-right:1px solid rgba(66,138,240,.42);border-bottom:1px solid rgba(66,138,240,.42);transform:rotate(45deg)}
body.aac-dark .aac-ask-nudge{background:#1b1e1b;color:#f6f7f4;border-color:rgba(66,138,240,.34);box-shadow:0 14px 38px rgba(0,0,0,.42)}
@media(max-width:560px){.aac-ask-nudge{right:12px;bottom:70px;max-width:min(240px,calc(100vw - 28px))}}
@media(prefers-reduced-motion:reduce){.aac-ask-nudge{transition:none}.aac-ask-nudge .nudge-star{animation:none}}

/* ===== AAC stylesheet block ===== */

/* Hero AI intelligence badge */
.aac-ai-powered{display:inline-flex;align-items:center;gap:8px;margin:0 0 13px;padding:7px 11px 7px 8px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.08);color:#f3f5f1;font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase;backdrop-filter:blur(10px)}
.aac-ai-powered-star{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;font-size:15px;line-height:1;background:linear-gradient(135deg,#428af0,#ff7a59,#9d5cff,#35c7d0,#43b86b);background-size:260% 260%;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.24);box-shadow:0 0 0 1px rgba(255,255,255,.14),0 0 15px rgba(157,92,255,.28);animation:aacAiStarGradient 4.2s ease infinite,aacAiStarFloat 2.8s ease-in-out infinite}
@keyframes aacAiStarGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes aacAiStarFloat{0%,100%{transform:translateY(0) rotate(0deg);filter:brightness(1)}50%{transform:translateY(-1px) rotate(10deg);filter:brightness(1.18)}}
body.aac-dark .aac-ai-powered{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#f1f3f0}
@media(prefers-reduced-motion:reduce){.aac-ai-powered-star{animation:none}}

/* ===== AAC stylesheet block ===== */

/* AAC Performance History — animated 3D all-KPI chart */
.aac-history-3d-card{overflow:hidden;background:linear-gradient(145deg,#fff,#f7f8f5)}
.aac-history-3d-card .aac-history-chart-head{align-items:center}
.aac-history-3d-legend{display:flex;align-items:center;justify-content:flex-end;gap:11px;flex-wrap:wrap}
.aac-history-3d-legend span{display:inline-flex;align-items:center;gap:5px;color:#687069;font-size:9px;font-weight:850}
.aac-history-3d-legend i{width:8px;height:8px;border-radius:2px;box-shadow:0 2px 5px rgba(0,0,0,.16)}
.aac-history-3d-legend i.nps{background:#00843d}.aac-history-3d-legend i.pcs{background:#6841aa}.aac-history-3d-legend i.adh{background:#428af0}.aac-history-3d-legend i.aht{background:#2878b5}
.aac-history-3d-chart{min-height:285px;overflow-x:auto;overflow-y:hidden;padding:0 3px 4px}
.aac-3d-stage{position:relative;min-width:max(100%,620px);height:280px;padding:18px 20px 30px;perspective:900px;perspective-origin:50% 42%}
.aac-3d-floor{position:absolute;left:12px;right:12px;bottom:35px;height:154px;transform:rotateX(69deg);transform-origin:bottom;background:repeating-linear-gradient(90deg,rgba(63,72,65,.08) 0 1px,transparent 1px 54px),repeating-linear-gradient(0deg,rgba(63,72,65,.08) 0 1px,transparent 1px 38px);border:1px solid rgba(90,100,92,.10);border-radius:12px;pointer-events:none}
.aac-3d-weeks{position:relative;z-index:2;height:230px;display:flex;align-items:flex-end;justify-content:space-around;gap:18px}
.aac-3d-week{height:218px;min-width:92px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;animation:aac3dWeekIn .55s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--week-delay)}
.aac-3d-bars{height:190px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:8px;transform:rotateX(-1deg) rotateY(-2deg);transform-style:preserve-3d}
.aac-3d-slot{position:relative;width:18px;height:170px;display:flex;align-items:flex-end;justify-content:center}
.aac-3d-value{position:absolute;bottom:calc(var(--value-y,0px) + 0px);left:50%;transform:translateX(-50%);opacity:0;pointer-events:none;z-index:8;padding:4px 6px;border-radius:6px;background:#171717;color:#fff;font-size:8px;font-weight:900;white-space:nowrap;transition:opacity .16s ease,transform .16s ease}
.aac-3d-slot:hover .aac-3d-value{opacity:1;transform:translate(-50%,-7px)}
.aac-3d-bar{position:relative;width:15px;height:var(--bar-h);min-height:10px;transform-style:preserve-3d;transform:translateZ(0);transform-origin:bottom;animation:aac3dGrow .72s cubic-bezier(.16,.85,.25,1) both;animation-delay:var(--bar-delay);filter:drop-shadow(5px 7px 5px rgba(26,35,29,.14));cursor:default}
.aac-3d-front,.aac-3d-side,.aac-3d-top{position:absolute;display:block}
.aac-3d-front{inset:0;border-radius:3px 3px 1px 1px;background:linear-gradient(90deg,rgba(255,255,255,.18),transparent 35%),var(--bar-color)}
.aac-3d-side{top:4px;right:-7px;width:7px;height:calc(100% - 4px);transform:skewY(-35deg);transform-origin:left top;background:color-mix(in srgb,var(--bar-color) 70%,#000);border-radius:0 2px 1px 0}
.aac-3d-top{top:-5px;left:3px;width:12px;height:7px;transform:skewX(-55deg);transform-origin:left bottom;background:color-mix(in srgb,var(--bar-color) 72%,#fff);border-radius:2px 2px 0 0}
.aac-3d-bar.nps{--bar-color:#00843d}.aac-3d-bar.pcs{--bar-color:#6841aa}.aac-3d-bar.adh{--bar-color:#428af0}.aac-3d-bar.aht{--bar-color:#2878b5}
.aac-3d-bar:hover{filter:brightness(1.08) drop-shadow(7px 9px 6px rgba(26,35,29,.22));transform:translateY(-3px) translateZ(5px)}
.aac-3d-week-label{margin-top:8px;max-width:100px;color:#5e665f;font-size:8px;font-weight:850;line-height:1.15;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@keyframes aac3dGrow{from{height:0;opacity:.25}to{height:var(--bar-h);opacity:1}}@keyframes aac3dWeekIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
body.aac-dark .aac-history-3d-card{background:linear-gradient(145deg,#151a17,#101412)}body.aac-dark .aac-history-3d-legend span{color:#aeb6b0}body.aac-dark .aac-3d-floor{background:repeating-linear-gradient(90deg,rgba(255,255,255,.055) 0 1px,transparent 1px 54px),repeating-linear-gradient(0deg,rgba(255,255,255,.055) 0 1px,transparent 1px 38px);border-color:rgba(255,255,255,.06)}body.aac-dark .aac-3d-week-label{color:#a4aca6}
@media(max-width:700px){.aac-history-3d-card .aac-history-chart-head{display:block}.aac-history-3d-legend{justify-content:flex-start;margin-top:10px}.aac-3d-stage{min-width:600px}.aac-history-3d-chart{min-height:270px}}
@media(prefers-reduced-motion:reduce){.aac-3d-week,.aac-3d-bar{animation:none!important}.aac-3d-bar{height:var(--bar-h)}}

/* ===== AAC stylesheet block ===== */

/* AAC Performance History — animated two-view line trends */
.aac-history-line-card{overflow:hidden;background:linear-gradient(145deg,#fff,#fafbf8)}
.aac-history-line-card .aac-history-chart-head{align-items:center}
.aac-history-view-tabs{display:inline-flex;gap:4px;padding:4px;border:1px solid #dfe3dc;border-radius:12px;background:#f3f5f1}
.aac-history-view-tab{padding:8px 12px;border:0;border-radius:8px;background:transparent;color:#697069;font:inherit;font-size:9px;font-weight:900;cursor:pointer;transition:background .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease}
.aac-history-view-tab:hover{transform:translateY(-1px);color:#171717}.aac-history-view-tab.active{background:#171717;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.14)}
.aac-history-line-chart{min-height:310px;overflow:hidden}.aac-line-legend{display:flex;align-items:center;justify-content:flex-end;gap:14px;min-height:28px;padding:0 10px 2px}.aac-line-legend span{display:inline-flex;align-items:center;gap:6px;color:#626a63;font-size:9px;font-weight:900}.aac-line-legend i{width:18px;height:3px;border-radius:999px;background:currentColor}.aac-line-legend em{color:#969d97;font-size:8px;font-style:normal;font-weight:700}.aac-line-legend .nps{color:#00843d}.aac-line-legend .pcs{color:#6841aa}.aac-line-legend .adh{color:#2d73db}.aac-line-legend .aht{color:#2878b5}
.aac-line-scroll{width:100%;overflow-x:auto;overflow-y:hidden}.aac-trend-svg{display:block;width:100%;min-width:650px;height:auto;overflow:visible}.aac-line-grid{stroke:#e5e9e3;stroke-width:1;stroke-dasharray:4 6}.aac-line-axis,.aac-line-week{fill:#858c86;font-size:9px;font-weight:700}.aac-line-week{font-size:8px;font-weight:850}.aac-trend-line{fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:aacLineDraw .9s cubic-bezier(.2,.75,.25,1) forwards;animation-delay:var(--line-delay);filter:drop-shadow(0 3px 4px rgba(0,0,0,.08))}.aac-trend-line.nps{stroke:#00843d}.aac-trend-line.pcs{stroke:#6841aa}.aac-trend-line.adh{stroke:#2d73db}.aac-trend-line.aht{stroke:#2878b5}
.aac-line-point{opacity:0;animation:aacPointIn .34s ease forwards;animation-delay:var(--point-delay);cursor:default}.aac-line-point>circle:first-child{fill:#fff;stroke-width:3}.aac-line-point.nps>circle:first-child{stroke:#00843d}.aac-line-point.pcs>circle:first-child{stroke:#6841aa}.aac-line-point.adh>circle:first-child{stroke:#2d73db}.aac-line-point.aht>circle:first-child{stroke:#2878b5}.aac-line-point .hit{fill:transparent;stroke:none}.aac-line-tip{opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.aac-line-point:hover .aac-line-tip{opacity:1}.aac-line-tip rect{fill:#171717;filter:drop-shadow(0 4px 7px rgba(0,0,0,.18))}.aac-line-tip text{fill:#fff;font-size:9px;font-weight:900}
@keyframes aacLineDraw{to{stroke-dashoffset:0}}@keyframes aacPointIn{from{opacity:0;transform:scale(.55);transform-box:fill-box;transform-origin:center}to{opacity:1;transform:scale(1);transform-box:fill-box;transform-origin:center}}
body.aac-dark .aac-history-line-card{background:linear-gradient(145deg,#151a17,#101412)}body.aac-dark .aac-history-view-tabs{border-color:#343b36;background:#101412}body.aac-dark .aac-history-view-tab{color:#aab2ac}body.aac-dark .aac-history-view-tab:hover{color:#fff}body.aac-dark .aac-history-view-tab.active{background:#428af0;color:#171717}body.aac-dark .aac-line-grid{stroke:#303732}body.aac-dark .aac-line-axis,body.aac-dark .aac-line-week{fill:#929a94}body.aac-dark .aac-line-legend span{filter:brightness(1.18)}body.aac-dark .aac-line-point>circle:first-child{fill:#151a17}
@media(max-width:700px){.aac-history-line-card .aac-history-chart-head{display:block}.aac-history-view-tabs{margin-top:11px;width:100%}.aac-history-view-tab{flex:1}.aac-line-legend{justify-content:flex-start;padding-left:4px}.aac-history-line-chart{min-height:290px}}
@media(prefers-reduced-motion:reduce){.aac-trend-line{animation:none;stroke-dashoffset:0}.aac-line-point{animation:none;opacity:1}.aac-history-view-tab{transition:none}}

/* ===== AAC stylesheet block ===== */

/* AAC Performance History semantic colour enhancement */
#aacProgressModal .dialog-body{background:linear-gradient(180deg,rgba(247,249,246,.96),#fff 230px)}
.aac-v2-progress-summary{gap:12px}
.aac-v2-trend-card{position:relative;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.aac-v2-trend-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#c9cec9}
.aac-v2-trend-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(27,40,31,.08)}
.aac-v2-trend-card.status-miss{background:linear-gradient(135deg,#fff8f7,#fff);border-color:#f0c5c0}.aac-v2-trend-card.status-miss:before{background:#c7372f}.aac-v2-trend-card.status-miss strong{color:#a82a23}
.aac-v2-trend-card.status-met{background:linear-gradient(135deg,#f2fbf5,#fff);border-color:#b9dfc7}.aac-v2-trend-card.status-met:before{background:#00843d}.aac-v2-trend-card.status-met strong{color:#006b31}
.aac-v2-trend-card.status-exceed{background:linear-gradient(135deg,#f8f4ff,#fff);border-color:#d7c6ed}.aac-v2-trend-card.status-exceed:before{background:#6841aa}.aac-v2-trend-card.status-exceed strong{color:#583394}
.aac-history-status{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:3px 7px;border-radius:999px;font-size:8px!important;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.aac-history-status:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor}
.aac-history-status.miss{background:#fdebea;color:#b42318}.aac-history-status.met{background:#e6f5ec;color:#007a38}.aac-history-status.exceed{background:#efe8f8;color:#6841aa}
.aac-v2-history-row:not(.head){transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.aac-v2-history-row:not(.head):hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(27,40,31,.06);border-color:#ccd3cc}
.aac-v2-history-row .metric{display:flex;justify-content:flex-start}.aac-history-metric{display:inline-flex;min-width:54px;justify-content:center;align-items:center;padding:5px 8px;border-radius:8px;font-weight:900;border:1px solid transparent}
.aac-history-metric.miss{background:#fdebea;border-color:#f2c8c4;color:#b42318}.aac-history-metric.met{background:#e6f5ec;border-color:#bce1ca;color:#007a38}.aac-history-metric.exceed{background:#efe8f8;border-color:#d7c6ed;color:#6841aa}
.aac-history-colour-key{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 13px;padding:9px 11px;border-radius:10px;background:#f6f7f4;color:#666e67;font-size:9px;font-weight:800}.aac-history-colour-key span{display:inline-flex;align-items:center;gap:5px}.aac-history-colour-key i{width:7px;height:7px;border-radius:50%}.aac-history-colour-key .miss i{background:#c7372f}.aac-history-colour-key .met i{background:#00843d}.aac-history-colour-key .exceed i{background:#6841aa}
body.aac-dark #aacProgressModal .dialog-body{background:linear-gradient(180deg,#101512,#0f1311 230px)}body.aac-dark .aac-v2-trend-card.status-miss{background:#281716;border-color:#70413c}body.aac-dark .aac-v2-trend-card.status-miss strong{color:#ff9c93}body.aac-dark .aac-v2-trend-card.status-met{background:#10241a;border-color:#315f45}body.aac-dark .aac-v2-trend-card.status-met strong{color:#83dda8}body.aac-dark .aac-v2-trend-card.status-exceed{background:#21192d;border-color:#574275}body.aac-dark .aac-v2-trend-card.status-exceed strong{color:#c9a9ef}body.aac-dark .aac-history-status.miss,body.aac-dark .aac-history-metric.miss{background:#351b19;border-color:#70413c;color:#ff9c93}body.aac-dark .aac-history-status.met,body.aac-dark .aac-history-metric.met{background:#102b1c;border-color:#315f45;color:#83dda8}body.aac-dark .aac-history-status.exceed,body.aac-dark .aac-history-metric.exceed{background:#281d38;border-color:#574275;color:#c9a9ef}body.aac-dark .aac-history-colour-key{background:#171c19;color:#aeb5af}

/* ===== AAC stylesheet block ===== */

/* Ask AAC — animated standalone AI star identity + compact professional composer */
#aacAskModal .aac-ai-dialog-head{padding:14px 18px}
#aacAskModal .aac-ai-title-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:5px}
#aacAskModal .aac-ai-brandline{display:flex;align-items:center;gap:7px}
#aacAskModal .aac-ai-title-wrap .prompt-tag{padding:3px 7px;font-size:9px;line-height:1.25;letter-spacing:.055em}
#aacAskModal .aac-ai-title-wrap h3{margin:0!important;font-size:19px;line-height:1.08;letter-spacing:-.025em}
/* No box: the star itself is the AI identity. */
.aac-ai-header-mark,.aac-ai-avatar-core{position:relative;display:grid;place-items:center;background:transparent!important;border:0!important;border-radius:0!important;overflow:visible!important;box-shadow:none!important;isolation:isolate}
.aac-ai-header-mark{width:24px;height:24px;flex:0 0 24px}
.aac-v2-avatar.aac-ai-avatar{position:relative;width:32px;height:32px;flex:0 0 32px;padding:0;border:0;border-radius:0;background:transparent;overflow:visible}
.aac-ai-avatar-core{width:32px;height:32px}
.aac-ai-header-mark:before,.aac-ai-avatar-core:before{content:"";position:absolute;inset:-6px;z-index:-1;border-radius:50%;background:radial-gradient(circle,rgba(120,91,255,.28) 0,rgba(55,198,255,.13) 38%,rgba(231,78,255,.08) 55%,transparent 72%);filter:blur(4px);animation:aacAiStarAura 2.7s ease-in-out infinite}
.aac-ai-header-mark:after,.aac-ai-avatar-core:after{content:"";position:absolute;width:145%;height:145%;z-index:-1;border:1px solid rgba(111,91,255,.28);border-left-color:rgba(36,190,255,.72);border-right-color:rgba(232,74,255,.62);border-radius:50%;animation:aacAiStarOrbit 5.5s linear infinite}
.aac-ai-header-mark i,.aac-ai-avatar-core i{display:none!important}
.aac-ai-header-mark b,.aac-ai-avatar-core b{position:relative;z-index:2;display:block;background:linear-gradient(145deg,#32c8ff 8%,#7868ff 42%,#e752ff 72%,#ff7bc8 100%);background-size:180% 180%;-webkit-background-clip:text;background-clip:text;color:transparent;font-family:Arial,sans-serif;font-weight:900;line-height:1;filter:drop-shadow(0 0 3px rgba(66,192,255,.8)) drop-shadow(0 0 7px rgba(164,78,255,.5));animation:aacAiStarShimmer 3.2s ease-in-out infinite,aacAiStarFloat 2.5s ease-in-out infinite}
.aac-ai-header-mark b{font-size:25px}.aac-ai-avatar-core b{font-size:31px}
@keyframes aacAiStarOrbit{to{transform:rotate(360deg)}}
@keyframes aacAiStarAura{0%,100%{opacity:.58;transform:scale(.9)}50%{opacity:1;transform:scale(1.12)}}
@keyframes aacAiStarShimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
@keyframes aacAiStarFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-1px) scale(1.06)}}
/* Composer: remove spare padding and make send action precise */
.aac-v2-composer{padding:10px 12px 12px}
.aac-v2-input-wrap{gap:4px;padding:5px 5px 5px 9px;border-radius:13px;align-items:center}
.aac-v2-input{min-height:36px;max-height:116px;padding:8px 5px;font-size:12.5px;line-height:1.4}
.aac-v2-send{width:34px!important;height:34px!important;flex:0 0 34px!important;padding:0!important;border-radius:10px!important;background:#171917!important;color:#fff!important;box-shadow:none!important}
.aac-v2-send svg{display:block;width:16px;height:16px;fill:currentColor;transform:translateX(1px)}
.aac-v2-send:hover:not(:disabled){background:#292c29!important;transform:translateY(-1px);box-shadow:0 4px 10px rgba(0,0,0,.14)!important}
.aac-v2-send:focus-visible{outline:2px solid #6841aa;outline-offset:2px}
body.aac-dark .aac-v2-send{background:#eef1ed!important;color:#111411!important}
body.aac-dark .aac-v2-send:hover:not(:disabled){background:#fff!important}
@media(prefers-reduced-motion:reduce){.aac-ai-header-mark:before,.aac-ai-avatar-core:before,.aac-ai-header-mark:after,.aac-ai-avatar-core:after,.aac-ai-header-mark b,.aac-ai-avatar-core b{animation:none!important}}

/* ===== AAC stylesheet block ===== */

.aac-signout-warning{width:min(430px,100%);border-radius:18px}
.aac-signout-warning .dialog-body{padding:24px;background:#fff}
.aac-signout-warning-icon{width:44px;height:44px;display:grid;place-items:center;margin-bottom:16px;border-radius:13px;background:#fff4f2;color:#c7352b;font-size:21px;font-weight:900;border:1px solid #f1d3cf}
.aac-signout-warning h3{margin:0 0 8px;font-size:20px;letter-spacing:-.02em}
.aac-signout-warning p{margin:0;color:#646a64;font-size:12px;line-height:1.65}
.aac-signout-warning-note{margin-top:14px!important;padding:11px 12px;border-radius:10px;background:#f7f8f5;color:#4e554f!important;font-size:10px!important}
.aac-signout-warning-actions{display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;border-top:1px solid #e3e5df}
.aac-signout-confirm{border-color:#bd3028!important;background:#bd3028!important;color:#fff!important}
.aac-signout-confirm:hover{background:#a72720!important;border-color:#a72720!important}
body.aac-dark .aac-signout-warning .dialog-body{background:#151917}
body.aac-dark .aac-signout-warning p{color:#aeb6b0}
body.aac-dark .aac-signout-warning-note{background:#202621;color:#c7cdc8!important}
body.aac-dark .aac-signout-warning-icon{background:rgba(189,48,40,.13);border-color:rgba(239,104,94,.22);color:#ff8178}
body.aac-dark .aac-signout-warning-actions{border-color:#2a302c;background:#151917}
@media(max-width:520px){.aac-signout-warning-actions{flex-direction:column-reverse}.aac-signout-warning-actions .btn{width:100%}}

/* ===== AAC stylesheet block ===== */

/* Ask AAC — larger, more readable desktop chat while preserving the docked layout */
#aacAskModal .aac-v2-dialog{
 width:min(590px,calc(100vw - 32px))!important;
 max-width:590px!important;
 height:min(740px,calc(100vh - 104px))!important;
}
#aacAskModal .aac-ai-dialog-head{padding:17px 20px 15px}
#aacAskModal .aac-ai-title-wrap{gap:6px}
#aacAskModal .aac-ai-title-wrap h3{font-size:21px}
#aacAskModal .aac-ai-title-wrap .prompt-tag{font-size:9.5px;padding:3px 8px}
#aac-ai-header-mark{width:26px;height:26px;flex-basis:26px}
.aac-ai-header-mark b{font-size:27px}
.aac-v2-chat-head{padding:13px 18px}
.aac-v2-chat-head>.small{font-size:12.5px}
.aac-v2-messages{padding:23px 20px 17px}
.aac-v2-message{gap:10px}
.aac-v2-avatar.aac-ai-avatar{width:35px;height:35px;flex-basis:35px}
.aac-ai-avatar-core{width:35px;height:35px}
.aac-ai-avatar-core b{font-size:34px}
.aac-v2-avatar.aac-user-avatar{width:35px;height:35px;flex:0 0 35px;font-size:9px}
.aac-v2-bubble{max-width:min(500px,89%);font-size:13.5px;line-height:1.66}
.aac-v2-message.assistant .aac-v2-bubble{padding:15px 17px}
.aac-v2-message.user .aac-v2-bubble{padding:13px 16px}
.aac-v2-quick{padding:9px 18px 12px;gap:8px}
.aac-v2-quick button{font-size:11.5px;padding:8px 11px}
.aac-chat-action{font-size:10.5px;padding:7px 10px}
.aac-v2-composer{padding:11px 14px 14px}
.aac-v2-input-wrap{padding:6px 6px 6px 11px;border-radius:14px}
.aac-v2-input{min-height:40px;max-height:130px;padding:9px 6px;font-size:13.5px;line-height:1.45}
.aac-v2-send{width:38px!important;height:38px!important;flex-basis:38px!important;border-radius:11px!important}
.aac-v2-send svg{width:17px;height:17px}
.aac-v2-privacy{font-size:10.5px}
@media(max-width:620px){
 #aacAskModal .aac-v2-dialog{right:8px;bottom:74px;width:calc(100vw - 16px)!important;max-width:none!important;height:min(690px,calc(100vh - 90px))!important}
 #aacAskModal .aac-ai-dialog-head{padding:14px 15px 13px}
 .aac-v2-messages{padding:18px 14px 13px}
 .aac-v2-bubble{font-size:13px;max-width:92%}
 .aac-v2-composer{padding:9px 10px 11px}
}

/* ===== AAC stylesheet block ===== */

/* AAC Huddle action — intentionally prominent because every agent is expected to act */
.aac-huddle-card{position:relative;overflow:hidden;border:1px solid #b9d9c6!important;background:linear-gradient(135deg,#f8fcf9 0%,#fff 58%,#f5faf7 100%)!important;box-shadow:0 12px 30px rgba(20,72,43,.08)}
.aac-huddle-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:linear-gradient(180deg,#00843d,#38a86a)}
.aac-huddle-top{display:flex;align-items:flex-start;gap:14px}
.aac-huddle-icon{flex:0 0 38px;width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:#00843d;color:#fff;font-size:18px;font-weight:950;box-shadow:0 7px 16px rgba(0,132,61,.18)}
.aac-huddle-heading{min-width:0;flex:1}
.aac-huddle-kicker{margin:1px 0 4px;color:#007536;font-size:9px;font-weight:950;letter-spacing:.13em}
.aac-huddle-card .aac-huddle-heading h4{margin:0!important;padding:0!important;border:0!important;color:#153b26;font-size:18px!important;line-height:1.2}
.aac-huddle-heading p{margin:6px 0 0!important;color:#626b65;font-size:12px!important;line-height:1.45!important}
.aac-huddle-required{flex:0 0 auto;padding:6px 9px;border:1px solid #b7ddc6;border-radius:999px;background:#eaf7ef;color:#006f33;font-size:9px;font-weight:900;white-space:nowrap}
.aac-huddle-action{margin-top:16px;padding:15px 17px;border:1px solid #dce9e0;border-radius:13px;background:rgba(255,255,255,.82)}
.aac-huddle-row{display:grid;grid-template-columns:105px 1fr;gap:14px;align-items:start}
.aac-huddle-row>span{padding-top:2px;color:#718078;font-size:8px;font-weight:950;letter-spacing:.11em}
.aac-huddle-row>strong{color:#222a25;font-size:12.5px;line-height:1.5;font-weight:760}
.aac-huddle-divider{height:1px;margin:11px 0;background:#e6ece8}
.aac-huddle-footer{display:flex;align-items:center;gap:7px;margin-top:12px;color:#68726b;font-size:10px}
.aac-huddle-footer strong{color:#17643a;font-size:10px}
.aac-huddle-dot{width:7px;height:7px;border-radius:50%;background:#19a35a;box-shadow:0 0 0 4px rgba(25,163,90,.10)}
body.aac-dark .aac-huddle-card{border-color:#315b43!important;background:linear-gradient(135deg,#122019 0%,#151a17 60%,#101a14 100%)!important;box-shadow:0 12px 30px rgba(0,0,0,.18)}
body.aac-dark .aac-huddle-card .aac-huddle-heading h4{color:#e7f3eb}
body.aac-dark .aac-huddle-heading p,body.aac-dark .aac-huddle-footer{color:#aeb8b1}
body.aac-dark .aac-huddle-kicker{color:#68d394}
body.aac-dark .aac-huddle-required{border-color:#315b43;background:#173523;color:#7cdda2}
body.aac-dark .aac-huddle-action{border-color:#2d3b32;background:rgba(12,17,14,.48)}
body.aac-dark .aac-huddle-row>span{color:#8f9d94}
body.aac-dark .aac-huddle-row>strong{color:#e4e9e5}
body.aac-dark .aac-huddle-divider{background:#303b34}
body.aac-dark .aac-huddle-footer strong{color:#7cdda2}
@media(max-width:620px){.aac-huddle-top{gap:10px}.aac-huddle-required{display:none}.aac-huddle-row{grid-template-columns:1fr;gap:4px}.aac-huddle-footer{align-items:flex-start;flex-wrap:wrap}.aac-huddle-icon{width:34px;height:34px;flex-basis:34px}}
@media print{.aac-huddle-card{box-shadow:none!important}.aac-huddle-required{display:inline-block!important}}

/* ===== AAC stylesheet block ===== */

/* AAC guided tour — isolated overlay. It never changes target positioning/layout. */
.aac-tour{position:fixed;inset:0;z-index:10000;display:none;pointer-events:none}
.aac-tour.show{display:block}
.aac-tour-blocker{position:fixed;inset:0;z-index:10000;background:transparent;pointer-events:auto}
.aac-tour-spotlight{position:fixed;z-index:10001;display:none;border:2px solid #428af0;border-radius:14px;background:transparent;box-shadow:0 0 0 9999px rgba(13,17,15,.58),0 0 0 5px rgba(66,138,240,.18),0 14px 42px rgba(0,0,0,.22);pointer-events:none;transition:left .2s ease,top .2s ease,width .2s ease,height .2s ease,border-radius .2s ease}
.aac-tour.show .aac-tour-spotlight{display:block}
.aac-tour-card{position:fixed;z-index:10003;width:min(390px,calc(100vw - 28px));padding:18px;border:1px solid #e1e5df;border-radius:17px;background:#fff;box-shadow:0 24px 70px rgba(12,18,14,.28);pointer-events:auto;animation:aacTourIn .2s ease}
.aac-tour-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.aac-tour-kicker{color:#007a39;font-size:9px;font-weight:950;letter-spacing:.13em}
.aac-tour-skip{padding:5px 7px;border:0;background:transparent;color:#737a74;font-size:10px;font-weight:800;cursor:pointer}
.aac-tour-skip:hover{text-decoration:underline}
.aac-tour-progress{height:3px;margin:12px 0 7px;overflow:hidden;border-radius:999px;background:#ecefeb}
.aac-tour-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#00843d,#428af0);transition:width .25s ease}
.aac-tour-count{color:#858b86;font-size:9px;font-weight:800}
.aac-tour-card h3{margin:7px 0 6px;color:#171917;font-size:19px;line-height:1.2}
.aac-tour-card p{margin:0;color:#5f6761;font-size:12.5px;line-height:1.55}
.aac-tour-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:16px}
.aac-tour-actions .btn{min-height:36px;padding:8px 13px;font-size:11px}
.aac-tour-actions #aacTourBack{margin-right:auto}
.aac-tour-actions #aacTourBack[hidden]{display:none}
body.aac-tour-open{overflow:hidden}
body.aac-dark .aac-tour-spotlight{box-shadow:0 0 0 9999px rgba(0,0,0,.66),0 0 0 5px rgba(66,138,240,.16),0 14px 42px rgba(0,0,0,.4)}
body.aac-dark .aac-tour-card{border-color:#343b36;background:#151917;box-shadow:0 24px 70px rgba(0,0,0,.5)}
body.aac-dark .aac-tour-card h3{color:#f0f3f0}
body.aac-dark .aac-tour-card p{color:#adb5af}
body.aac-dark .aac-tour-kicker{color:#6bd694}
body.aac-dark .aac-tour-progress{background:#2b322d}
.aac-tour-card:focus{outline:none}
@keyframes aacTourIn{from{opacity:0;transform:translateY(7px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:620px){
 .aac-tour-card{left:14px!important;right:14px!important;bottom:14px!important;top:auto!important;width:auto}
 .aac-tour-spotlight{transition:none}
}
@media(prefers-reduced-motion:reduce){.aac-tour-card{animation:none}.aac-tour-spotlight,.aac-tour-progress span{transition:none}}

/* First-time AAC welcome — shown before the guided walkthrough. */
.aac-tour-welcome{position:fixed;inset:0;z-index:10020;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(13,17,15,.58);backdrop-filter:blur(5px)}
.aac-tour-welcome.show{display:flex}
.aac-tour-welcome-card{position:relative;width:min(460px,calc(100vw - 32px));padding:28px 28px 24px;border:1px solid #e0e5df;border-radius:22px;background:#fff;box-shadow:0 28px 90px rgba(12,18,14,.3);text-align:center;animation:aacTourWelcomeIn .24s cubic-bezier(.2,.8,.2,1)}
.aac-tour-welcome-star{width:52px;height:52px;margin:0 auto 16px;display:grid;place-items:center;color:#6841aa;font-size:40px;line-height:1;filter:drop-shadow(0 7px 15px rgba(104,65,170,.22));animation:aacTourStarFloat 2.6s ease-in-out infinite}
.aac-tour-welcome-kicker{margin-bottom:7px;color:#007a39;font-size:9px;font-weight:950;letter-spacing:.14em}
.aac-tour-welcome-card h2{margin:0;color:#171917;font-size:27px;line-height:1.15;letter-spacing:-.025em}
.aac-tour-welcome-card p{max-width:370px;margin:12px auto 0;color:#616962;font-size:13px;line-height:1.6}
.aac-tour-welcome-actions{display:flex;justify-content:center;gap:9px;margin-top:22px}
.aac-tour-welcome-actions .btn{min-height:40px;padding:9px 15px;font-size:11px}
body.aac-tour-welcome-open{overflow:hidden}
body.aac-dark .aac-tour-welcome{background:rgba(0,0,0,.67)}
body.aac-dark .aac-tour-welcome-card{border-color:#343b36;background:#151917;box-shadow:0 28px 90px rgba(0,0,0,.52)}
body.aac-dark .aac-tour-welcome-card h2{color:#f0f3f0}
body.aac-dark .aac-tour-welcome-card p{color:#adb5af}
body.aac-dark .aac-tour-welcome-kicker{color:#6bd694}
@keyframes aacTourWelcomeIn{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
@keyframes aacTourStarFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-3px) rotate(5deg)}}
@media(max-width:620px){.aac-tour-welcome-card{padding:24px 20px 20px}.aac-tour-welcome-card h2{font-size:24px}.aac-tour-welcome-actions{flex-direction:column-reverse}.aac-tour-welcome-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.aac-tour-welcome-card,.aac-tour-welcome-star{animation:none!important}}

/* ===== AAC stylesheet block ===== */

/* AAC neutral brand marks */
.aac-neutral-mark,.aac-neutral-header-mark,.aac-neutral-hero-mark{font-family:Arial,Helvetica,sans-serif;font-weight:900;line-height:1;background:linear-gradient(135deg,#35c8ff 0%,#7657ff 48%,#e95dff 100%);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 18px rgba(118,87,255,.22)}
.aac-neutral-mark{display:grid;place-items:center;width:100%;height:100%;font-size:38px}
.aac-neutral-header-mark{display:grid;place-items:center;width:46px;height:46px;font-size:31px;filter:drop-shadow(0 5px 10px rgba(80,70,180,.16))}
.aac-neutral-hero-mark{display:grid!important;place-items:center;font-size:92px!important;letter-spacing:0;filter:drop-shadow(0 0 16px rgba(53,200,255,.30)) drop-shadow(0 0 30px rgba(118,87,255,.28))!important}
body.aac-dark .aac-neutral-header-mark{filter:drop-shadow(0 0 12px rgba(118,87,255,.28))}

/* ===== AAC stylesheet block ===== */

/* AAC supplied brand artwork — replaces the former brand marks only. */
.aac-brand-image{display:block;object-fit:contain;object-position:center;background:transparent;user-select:none;-webkit-user-drag:none}
.aac-onboarding-mark .aac-login-logo-frame{width:78px;height:50px;flex:0 0 78px;overflow:visible}
.aac-onboarding-mark .aac-login-logo-frame img.aac-brand-image-login{position:absolute;inset:0;left:0;top:0;width:100%;height:100%;max-width:100%;object-fit:contain;animation:none;filter:drop-shadow(0 8px 18px rgba(30,118,255,.24)) drop-shadow(0 0 10px rgba(77,172,255,.18));will-change:auto}
.aac-onboarding-mark .aac-login-brand-orbit{left:39px}
.aac-header-logo{width:66px;height:36px;flex:0 0 66px;overflow:visible}
.aac-header-logo .aac-brand-image-header{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 4px 9px rgba(38,111,255,.18))}
.ai-core .aac-brand-image-hero{position:relative;z-index:2;width:156px;height:auto;max-width:164px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.34)) drop-shadow(0 0 18px rgba(36,137,255,.30));animation:logoPulse 3.2s ease-in-out infinite}
body.aac-dark .aac-header-logo .aac-brand-image-header{filter:drop-shadow(0 0 12px rgba(60,155,255,.26))}
@media(max-width:560px){.aac-header-logo{width:56px;height:31px;flex-basis:56px}.aac-onboarding-mark .aac-login-logo-frame{width:68px;height:44px;flex-basis:68px}.aac-onboarding-mark .aac-login-brand-orbit{left:34px}.ai-core .aac-brand-image-hero{width:136px;max-width:142px}}
@media(prefers-reduced-motion:reduce){.ai-core .aac-brand-image-hero{animation:none!important}}

/* ===== AAC stylesheet block ===== */

/* AAC logo palette — precision blue/silver refinement.
   Brand blue is sampled from the supplied AAC mark. KPI states remain semantic. */
:root{
 --aac-ink:#07111f;
 --aac-ink-2:#0d1b2f;
 --aac-blue:#428af0;
 --aac-blue-hover:#3278df;
 --aac-blue-deep:#1f5fd1;
 --aac-blue-dark:#174a9a;
 --aac-sky:#79beff;
 --aac-cyan:#a6ddff;
 --aac-ice:#edf6ff;
 --aac-soft:#f5f9ff;
 --aac-line:#d8e4f2;
 --aac-glow:rgba(66,138,240,.24);
 --aac-shadow:0 18px 46px rgba(31,95,209,.10);
 /* Backward-compatible legacy tokens. Yellow is intentionally remapped to AAC blue. */
 --yellow:var(--aac-blue);
 --black:var(--aac-ink);
 /* Semantic KPI colours must remain semantic. */
 --green:#168a65;
 --green-dark:#0f6f51;
 --green-soft:#eaf7f1;
 --red:#c43d4f;
 --red-soft:#fff0f2;
 --purple:#7650c9;
 --purple-soft:#f4efff;
 --aac-status-focus:#c43d4f;
 --aac-status-target:#168a65;
 --aac-status-exceed:#7650c9;
}
html{background:#f7faff}
body{background:linear-gradient(180deg,#f7faff 0%,#ffffff 31%,#f4f8ff 100%)!important;color:var(--aac-ink)}
::selection{background:rgba(66,138,240,.22)}
a{color:var(--aac-blue-deep)}
.site-header,.header,.topbar{border-color:#dce6f3!important}
.site-header{background:rgba(255,255,255,.94)!important;box-shadow:0 7px 28px rgba(31,95,209,.05)}
.brand-divider{background:#d9e4f1!important}

/* Primary interactive surfaces: blue, never yellow. */
.btn-yellow,.aac-enter-btn,.aac-v2-send,.aac-ready-button,.challenge-step .challenge-num,.feedback-icon,
.aac-history-add-btn .plus,.step,.aac-huddle-icon,.challenge-fab .target-icon{
 background:linear-gradient(135deg,var(--aac-sky) 0%,var(--aac-blue) 52%,var(--aac-blue-deep) 100%)!important;
 color:#fff!important;border-color:transparent!important;
 box-shadow:0 8px 24px rgba(66,138,240,.20)!important
}
.btn-yellow:hover,.aac-enter-btn:hover,.aac-v2-send:hover:not(:disabled),.aac-ready-button:hover,
.challenge-fab:hover .target-icon{background:linear-gradient(135deg,#8ac8ff 0%,var(--aac-blue-hover) 55%,#184fae 100%)!important;box-shadow:0 11px 32px rgba(66,138,240,.30)!important;filter:none!important}
.btn-yellow:focus-visible,.aac-enter-btn:focus-visible,.aac-v2-send:focus-visible,.aac-ready-button:focus-visible,
button:focus-visible,a:focus-visible{outline-color:var(--aac-blue)!important}
.btn-yellow:disabled,.aac-enter-btn:disabled{background:#9fb9dc!important;color:#f7fbff!important;box-shadow:none!important}
.btn-dark,.aac-history-chart-tab.active,.aac-history-view-tab.active{background:linear-gradient(135deg,#07111f,#17335d)!important;border-color:#10284a!important;color:#fff!important}

/* Inputs / controls */
.field input,.field textarea,.field select,.metric-input,.aac-history-field input,.aac-v2-input-wrap{border-color:#cedbec!important}
input:focus,select:focus,textarea:focus,.metric-input:focus-within,.aac-v2-input-wrap:focus-within,.aac-history-field input:focus,
.aac-login-field input:focus,.aac-login-field select:focus{border-color:var(--aac-blue)!important;box-shadow:0 0 0 4px rgba(66,138,240,.13)!important}

/* Light-mode structure */
.section-card,.plan-card,.target-card,.aac-history-chart-card,.aac-history-add-panel,.aac-v2-trend-card,.aac-v2-form-card,.aac-v2-info-card{
 border-color:var(--aac-line)!important;box-shadow:var(--aac-shadow)
}
.section-card,.plan-card,.aac-history-chart-card,.aac-history-add-panel{background:#fff!important}
.target-card{background:linear-gradient(145deg,#ffffff,#f5f9ff)!important}
.target{background:#f8fbff!important;border-color:#dce7f3!important}
/* KPI benchmark badges stay GREEN by design. */
.target strong,.legend-met,.kpi-card.met .badge,.challenge-fab.complete .target-icon,.challenge-step.done .challenge-num{background:var(--green)!important;color:#fff!important}
.kpi-card.met{border-color:#9fd6c0!important;background:var(--green-soft)!important}
.kpi-card.met .status,.score-pill.met strong,.aac-v2-trend-up{color:var(--green-dark)!important}
.score-pill.met{border-color:#acd9c6!important;background:#edf9f3!important}
.kpi-card.miss,.score-pill.miss{border-color:#efbdc4!important;background:var(--red-soft)!important}
.kpi-card.exceed,.score-pill.exceed{border-color:#d8c8f1!important;background:var(--purple-soft)!important}
.legend-miss{background:var(--red)!important}.legend-exceed{background:var(--purple)!important}

/* Hero / onboarding / loader: supplied-logo navy + blue glow only. */
.hero,.aac-onboarding-story,.challenge-card{
 background:radial-gradient(circle at 82% 18%,rgba(121,190,255,.20),transparent 34%),
            radial-gradient(circle at 18% 82%,rgba(66,138,240,.18),transparent 36%),
            linear-gradient(135deg,#050b15,#0a1830 58%,#102649)!important
}
.aac-onboarding-bg,.aac-login-loader-bg,.ai-plan-bg{
 background:radial-gradient(circle at 18% 22%,rgba(121,190,255,.18),transparent 30%),
            radial-gradient(circle at 82% 18%,rgba(66,138,240,.22),transparent 31%),
            radial-gradient(circle at 56% 90%,rgba(31,95,209,.15),transparent 28%),#06101f!important
}
.hero:after,.aac-onboarding-story:after{background:linear-gradient(135deg,var(--aac-sky),var(--aac-blue),var(--aac-blue-deep))!important}
.aac-onboarding-kicker,.aac-loader-kicker,.challenge-kicker,.challenge-progress strong,.hero .aac-personal-title + p strong,
.hero-welcome,.aac-ai-word,.ai-loader-card .ai-kicker{color:#8bc9ff!important}
.aac-loader-core,.ai-plan-corebox,.aac-plan-ready .ai-plan-corebox{
 background:linear-gradient(135deg,#a9dcff,var(--aac-blue) 58%,var(--aac-blue-deep))!important;color:#fff!important;
 box-shadow:0 0 46px rgba(66,138,240,.30)!important
}
.aac-loader-ring{border-color:rgba(121,190,255,.48)!important}
.orbit-dot,.ai-node.n2,.ai-plan-node,.ai-thinking i,.aac-atmo-particle{background:var(--aac-blue)!important;box-shadow:0 0 15px rgba(66,138,240,.65)!important}
.aac-data-rail:after,.aac-loader-track span,.ai-progress span,#aiProgressBar,.aac-tour-progress span{
 background:linear-gradient(90deg,#9bd5ff,var(--aac-blue),var(--aac-blue-deep))!important;
 box-shadow:0 0 16px rgba(66,138,240,.28)!important
}

/* AI identity and chat */
.aac-ai-powered-star,.aac-ask-star-logo,.aac-ai-star{background:linear-gradient(135deg,#b9e7ff 0%,#6eb7ff 36%,#428af0 68%,#1f5fd1 100%)!important}
.aac-ai-logo .ai-spark{fill:var(--aac-blue)!important}
.aac-ask-fab{border-color:rgba(66,138,240,.58)!important;background:#081427!important;color:#fff!important;box-shadow:0 14px 38px rgba(7,17,31,.28),0 0 25px rgba(66,138,240,.24)!important}
.aac-ask-fab:hover,.aac-ask-fab:focus-visible{outline-color:rgba(66,138,240,.55)!important;background:#10264a!important}
.aac-ask-fab.chat-open{background:linear-gradient(135deg,var(--aac-sky),var(--aac-blue),var(--aac-blue-deep))!important;border-color:transparent!important}
.aac-ask-star{color:#79beff!important}
.aac-v2-chat-head{border-bottom-color:#d9e5f2!important}
.aac-v2-message.user .aac-v2-bubble{background:linear-gradient(135deg,#eaf4ff,#f4f8ff)!important;border-color:#c9ddf5!important;color:var(--aac-ink)!important}
.aac-v2-bubble{border-color:#dce6f2!important}
.aac-v2-source.official{background:#eaf4ff!important;color:#2459aa!important}
.aac-v2-source.training{background:#eef5ff!important;color:#2c66bd!important}
.aac-v2-badge.coaching,.aac-v2-endpoint-note{border-color:#b9d7fb!important;background:#edf6ff!important;color:#24528c!important}
.aac-ai-notice-icon,.aac-ai-notice-item.caution .aac-ai-notice-dot{background:var(--aac-blue)!important;color:#fff!important}
.aac-ai-notice-item.caution strong{color:#245ca8!important}
.aac-ask-nudge{border-color:rgba(66,138,240,.40)!important;background:#fff!important;color:#122039!important;box-shadow:0 14px 36px rgba(31,95,209,.14)!important}

/* Huddle / challenge */
.aac-huddle-card{border-color:#bdd6f5!important;background:linear-gradient(145deg,#fff,#f1f7ff)!important;box-shadow:0 14px 32px rgba(31,95,209,.08)!important}
.aac-huddle-kicker{color:#2c6cc4!important}.aac-huddle-required{background:#e7f2ff!important;color:#225ca8!important}
.challenge-step:hover{border-color:rgba(121,190,255,.72)!important}.challenge-step .challenge-num{box-shadow:0 5px 16px rgba(66,138,240,.18)!important}
.challenge-fab{border-color:var(--aac-blue)!important;background:linear-gradient(135deg,#07111f,#15335f)!important;box-shadow:0 12px 34px rgba(7,17,31,.32),0 0 24px rgba(66,138,240,.32)!important}

/* Performance history: blue brand controls, semantic KPI colours remain red/green/purple. */
.aac-history-chart-tab,.aac-history-view-tab{border-color:#d5e2f1!important;background:#f4f8ff!important;color:#445a78!important}
.aac-history-chart-tab.active,.aac-history-view-tab.active{box-shadow:0 5px 16px rgba(31,95,209,.16)!important}
.aac-history-bars{border-bottom-color:#dde7f2!important}
.aac-line-grid{stroke:#dfe8f3!important}.aac-line-axis,.aac-line-week{fill:#718096!important}
/* Series: NPS green, PCS purple, Adherence logo-blue, AHT deep blue. */
.aac-line-point.nps>circle:first-child{stroke:#168a65!important}.aac-line-point.pcs>circle:first-child{stroke:#7650c9!important}
.aac-line-point.adh>circle:first-child{stroke:#428af0!important}.aac-line-point.aht>circle:first-child{stroke:#174a9a!important}
.aac-history-3d-legend i.nps,.aac-3d-bar.nps{--bar-color:#168a65!important;background:#168a65!important}
.aac-history-3d-legend i.pcs,.aac-3d-bar.pcs{--bar-color:#7650c9!important;background:#7650c9!important}
.aac-history-3d-legend i.adh,.aac-3d-bar.adh{--bar-color:#428af0!important;background:#428af0!important}
.aac-history-3d-legend i.aht,.aac-3d-bar.aht{--bar-color:#174a9a!important;background:#174a9a!important}

/* Tour / feedback */
.aac-tour-spotlight{border-color:var(--aac-blue)!important;box-shadow:0 0 0 9999px rgba(6,16,31,.58),0 0 0 5px rgba(66,138,240,.18),0 14px 42px rgba(0,0,0,.22)!important}
.feedback-card:before{background:linear-gradient(90deg,var(--aac-sky),var(--aac-blue),var(--aac-blue-deep))!important}

/* Dark mode — same palette, deeper navy surfaces, no muddy green/yellow brand styling. */
body.aac-dark{--aac-soft:#101b2d;--aac-line:#263b57;background:radial-gradient(circle at 82% 0,rgba(66,138,240,.13),transparent 29%),#050b14!important;color:#edf5ff}
body.aac-dark .site-header{background:rgba(6,15,28,.93)!important;border-color:#1f3550!important;box-shadow:0 8px 30px rgba(0,0,0,.28)}
body.aac-dark .brand-divider{background:#2b3e57!important}
body.aac-dark .section-card,body.aac-dark .plan-card,body.aac-dark .aac-history-chart-card,body.aac-dark .aac-history-add-panel,
body.aac-dark .target-card,body.aac-dark .aac-v2-trend-card{background:#0c1728!important;border-color:#243a57!important;color:#edf5ff!important;box-shadow:0 18px 48px rgba(0,0,0,.22)!important}
body.aac-dark .target{background:#101e31!important;border-color:#29405c!important;color:#eaf3ff!important}
body.aac-dark .target strong{background:#168a65!important;color:#fff!important}
body.aac-dark .kpi-card.met{border-color:#2d7057!important;background:#0b261d!important}
body.aac-dark .kpi-card.miss{border-color:#79404d!important;background:#2a151b!important}
body.aac-dark .kpi-card.exceed{border-color:#60498d!important;background:#211a35!important}
body.aac-dark .metric-input,body.aac-dark .field input,body.aac-dark .field textarea,body.aac-dark .field select,
body.aac-dark .aac-history-field input{background:#081321!important;border-color:#2a405b!important;color:#eff6ff!important}
body.aac-dark .aac-v2-chat,body.aac-dark .aac-v2-messages,body.aac-dark .aac-v2-composer,body.aac-dark .aac-v2-quick{background:#050b14!important}
body.aac-dark .aac-v2-chat-head,body.aac-dark .aac-v2-context{background:#0b1626!important;border-color:#263b57!important}
body.aac-dark .aac-v2-bubble{background:#0f1d30!important;border-color:#2a4261!important;color:#edf5ff!important}
body.aac-dark .aac-v2-message.user .aac-v2-bubble{background:linear-gradient(135deg,#153b70,#102c53)!important;border-color:#376da8!important;color:#fff!important}
body.aac-dark .aac-v2-input-wrap{background:#091525!important;border-color:#2b4361!important}body.aac-dark .aac-v2-input{color:#f4f8ff!important}
body.aac-dark .aac-history-chart-tab,body.aac-dark .aac-history-view-tab{background:#0e1b2e!important;border-color:#2b4260!important;color:#b9c9dd!important}
body.aac-dark .aac-history-chart-tab.active,body.aac-dark .aac-history-view-tab.active{background:linear-gradient(135deg,#428af0,#1f5fd1)!important;border-color:transparent!important;color:#fff!important}
body.aac-dark .aac-huddle-card{background:linear-gradient(145deg,#0d1a2d,#10233d)!important;border-color:#2b4c73!important}body.aac-dark .aac-huddle-required{background:#12325b!important;color:#a8d5ff!important}
body.aac-dark .aac-ask-nudge{background:#0d1a2c!important;color:#eef6ff!important;border-color:rgba(121,190,255,.34)!important}
body.aac-dark .aac-ai-notice-item.caution strong{color:#9fceff!important}
body.aac-dark .export-dropdown,body.aac-dark .export-option{background:#0d1829!important;border-color:#263b57!important;color:#edf5ff!important}body.aac-dark .export-option:hover{background:#12243d!important}
body.aac-dark #aacThemeToggle:focus-visible{outline-color:var(--aac-blue)!important}
body.aac-dark .aac-theme-toggle{color:#8bc9ff!important}
@media(prefers-reduced-motion:reduce){.ai-progress span,#aiProgressBar{transition:none!important}}

/* ===== AAC stylesheet block ===== */

/* =========================================================
   AAC final theme polish — targeted fixes only
   1) Hero grid has no background behind hero/KPI benchmark.
   2) AI generation loader follows the active theme.
   3) Login/onboarding follows the active theme.
   ========================================================= */

/* HERO: background belongs to the hero card only, never the grid wrapper. */
.hero{background:transparent!important;box-shadow:none!important;filter:none!important}
.hero:before,.hero:after{display:none!important}
.hero-main{
  background:radial-gradient(circle at 84% 16%,rgba(121,190,255,.22),transparent 32%),
             radial-gradient(circle at 16% 86%,rgba(66,138,240,.18),transparent 35%),
             linear-gradient(135deg,#050b15 0%,#0a1830 58%,#102649 100%)!important;
  box-shadow:0 18px 46px rgba(12,38,73,.18)!important
}
.hero-main:after{display:block!important;background:linear-gradient(135deg,#79beff,#428af0,#1f5fd1)!important}
body.aac-dark .hero{background:transparent!important;filter:none!important}
body.aac-dark .hero-main{border-color:#244364!important;box-shadow:0 20px 52px rgba(0,0,0,.30)!important}

/* LIGHT MODE — login/onboarding */
body:not(.aac-dark) .aac-onboarding{background:#f4f8fd!important;color:#102039!important;color-scheme:light}
body:not(.aac-dark) .aac-onboarding-bg{
  background:radial-gradient(circle at 18% 20%,rgba(121,190,255,.22),transparent 29%),
             radial-gradient(circle at 82% 18%,rgba(66,138,240,.17),transparent 30%),
             radial-gradient(circle at 70% 84%,rgba(31,95,209,.09),transparent 28%),
             linear-gradient(135deg,#fbfdff,#f2f7fd 54%,#edf5ff)!important
}
body:not(.aac-dark) .aac-onboarding-shell{border-color:#d6e4f3!important;background:rgba(255,255,255,.92)!important;box-shadow:0 32px 90px rgba(31,74,125,.15)!important}
body:not(.aac-dark) .aac-onboarding-story{border-color:#d8e5f2!important;background:linear-gradient(145deg,rgba(248,252,255,.82),rgba(238,246,255,.72))!important}
body:not(.aac-dark) .aac-onboarding-form-wrap{background:rgba(255,255,255,.88)!important}
body:not(.aac-dark) .aac-onboarding-copy h1,body:not(.aac-dark) .aac-onboarding-form h2,body:not(.aac-dark) .aac-onboarding-mark strong{color:#102039!important}
body:not(.aac-dark) .aac-onboarding-copy p,body:not(.aac-dark) .aac-onboarding-form>p,body:not(.aac-dark) .aac-onboarding-mark span{color:#607089!important}
body:not(.aac-dark) .aac-onboarding-kicker{color:#2d6bc2!important}
body:not(.aac-dark) .aac-login-field label{color:#263a55!important}
body:not(.aac-dark) .aac-login-field input,body:not(.aac-dark) .aac-login-field select{border-color:#c7d8ea!important;background:#fff!important;color:#102039!important}
body:not(.aac-dark) .aac-login-field input::placeholder{color:#7b8ca3!important}
body:not(.aac-dark) .aac-login-note{color:#6d7d91!important}
body:not(.aac-dark) .aac-ai-status{background:rgba(255,255,255,.88)!important;border-color:#cfe0f1!important;color:#365777!important}
body:not(.aac-dark) .aac-onboarding-grid{opacity:.28!important;background-image:linear-gradient(rgba(66,138,240,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(66,138,240,.10) 1px,transparent 1px)!important}

/* DARK MODE — login/onboarding */
body.aac-dark .aac-onboarding{background:#050b14!important;color:#edf5ff!important;color-scheme:dark}
body.aac-dark .aac-onboarding-bg{background:radial-gradient(circle at 18% 20%,rgba(121,190,255,.15),transparent 29%),radial-gradient(circle at 82% 18%,rgba(66,138,240,.19),transparent 30%),linear-gradient(135deg,#050b14,#09182b 58%,#0d2340)!important}
body.aac-dark .aac-onboarding-shell{border-color:#263d5a!important;background:rgba(8,19,34,.91)!important;box-shadow:0 35px 105px rgba(0,0,0,.46)!important}
body.aac-dark .aac-onboarding-story{border-color:#263d5a!important;background:rgba(8,20,37,.56)!important}
body.aac-dark .aac-onboarding-form-wrap{background:rgba(7,17,31,.72)!important}
body.aac-dark .aac-onboarding-copy h1,body.aac-dark .aac-onboarding-form h2,body.aac-dark .aac-onboarding-mark strong{color:#f1f7ff!important}
body.aac-dark .aac-onboarding-copy p,body.aac-dark .aac-onboarding-form>p,body.aac-dark .aac-onboarding-mark span{color:#a9b9cb!important}
body.aac-dark .aac-login-field label{color:#d8e5f3!important}
body.aac-dark .aac-login-field input,body.aac-dark .aac-login-field select{border-color:#2c4665!important;background:#081525!important;color:#f1f7ff!important}
body.aac-dark .aac-login-field input::placeholder{color:#71849b!important}

/* LIGHT MODE — real-time AI action-plan generation screen */
body:not(.aac-dark) .ai-loader{background:rgba(244,248,253,.97)!important;color:#102039!important}
body:not(.aac-dark) .ai-plan-bg{background:radial-gradient(circle at 20% 22%,rgba(121,190,255,.20),transparent 29%),radial-gradient(circle at 80% 18%,rgba(66,138,240,.15),transparent 29%),radial-gradient(circle at 55% 92%,rgba(31,95,209,.08),transparent 27%),#f4f8fd!important}
body:not(.aac-dark) .ai-plan-grid{opacity:.30!important;background-image:linear-gradient(rgba(66,138,240,.10) 1px,transparent 1px),linear-gradient(90deg,rgba(66,138,240,.10) 1px,transparent 1px)!important}
body:not(.aac-dark) .ai-loader-card{border-color:#d5e3f2!important;background:rgba(255,255,255,.93)!important;color:#102039!important;box-shadow:0 30px 90px rgba(31,74,125,.15)!important}
body:not(.aac-dark) .ai-loader-card h3{color:#102039!important}
body:not(.aac-dark) .ai-loader-card p,body:not(.aac-dark) .ai-loader-card .ai-stage{color:#65778d!important}
body:not(.aac-dark) .ai-loader-card .ai-kicker{color:#2d6bc2!important}
body:not(.aac-dark) .ai-progress{background:#dce7f3!important}

/* DARK MODE — real-time AI action-plan generation screen */
body.aac-dark .ai-loader{background:rgba(5,11,20,.97)!important;color:#edf5ff!important}
body.aac-dark .ai-plan-bg{background:radial-gradient(circle at 20% 22%,rgba(121,190,255,.13),transparent 29%),radial-gradient(circle at 80% 18%,rgba(66,138,240,.18),transparent 29%),radial-gradient(circle at 55% 92%,rgba(31,95,209,.13),transparent 27%),#050b14!important}
body.aac-dark .ai-plan-grid{opacity:.13!important;background-image:linear-gradient(rgba(139,201,255,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(139,201,255,.09) 1px,transparent 1px)!important}
body.aac-dark .ai-loader-card{border-color:#263d5a!important;background:rgba(9,21,37,.92)!important;color:#edf5ff!important;box-shadow:0 35px 105px rgba(0,0,0,.48)!important}
body.aac-dark .ai-loader-card h3{color:#f1f7ff!important}
body.aac-dark .ai-loader-card p,body.aac-dark .ai-loader-card .ai-stage{color:#9fb0c3!important}
body.aac-dark .ai-loader-card .ai-kicker{color:#8bc9ff!important}
body.aac-dark .ai-progress{background:#172a40!important}

/* ===== AAC stylesheet block ===== */

/* AAC login loading screen — refined light/dark theme separation. */
body:not(.aac-dark) .aac-login-loader{background:#f4f8fd!important;color:#102039!important;color-scheme:light}
body:not(.aac-dark) .aac-login-loader-bg{background:radial-gradient(circle at 22% 20%,rgba(121,190,255,.24),transparent 31%),radial-gradient(circle at 80% 22%,rgba(66,138,240,.16),transparent 29%),radial-gradient(circle at 52% 92%,rgba(31,95,209,.09),transparent 28%),linear-gradient(145deg,#fbfdff 0%,#f3f8fe 52%,#edf5ff 100%)!important}
body:not(.aac-dark) .aac-login-loader-grid{opacity:.30!important;background-image:linear-gradient(rgba(66,138,240,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(66,138,240,.09) 1px,transparent 1px)!important}
body:not(.aac-dark) .aac-login-loader-card{padding:38px 42px 34px;border:1px solid #d5e4f3;border-radius:28px;background:rgba(255,255,255,.84);box-shadow:0 28px 85px rgba(31,74,125,.14);backdrop-filter:blur(20px)}
body:not(.aac-dark) .aac-loader-core{background:linear-gradient(135deg,#79beff 0%,#428af0 48%,#1f5fd1 100%)!important;color:#fff!important;box-shadow:0 14px 38px rgba(45,107,194,.24),0 0 0 7px rgba(66,138,240,.07)!important}
body:not(.aac-dark) .aac-loader-ring{border-color:rgba(45,107,194,.42)!important}
body:not(.aac-dark) .aac-loader-ring.r2{border-color:rgba(121,190,255,.62)!important}
body:not(.aac-dark) .aac-loader-neural{background:repeating-conic-gradient(from 0deg,transparent 0 13deg,rgba(66,138,240,.22) 14deg 14.5deg,transparent 15deg 27deg)!important}
body:not(.aac-dark) .aac-loader-core:before{background:#428af0!important;box-shadow:0 0 14px rgba(66,138,240,.55)!important}
body:not(.aac-dark) .aac-loader-core:after{background:#79beff!important;box-shadow:0 0 14px rgba(121,190,255,.7)!important}
body:not(.aac-dark) .aac-loader-kicker{color:#2d6bc2!important}
body:not(.aac-dark) .aac-login-loader h2{color:#102039!important}
body:not(.aac-dark) .aac-login-loader p{color:#65778d!important}
body:not(.aac-dark) .aac-loader-track{background:#dce8f4!important;box-shadow:inset 0 0 0 1px rgba(66,138,240,.05)}
body:not(.aac-dark) .aac-loader-track span{background:linear-gradient(90deg,#79beff,#428af0,#1f5fd1)!important;box-shadow:0 0 16px rgba(66,138,240,.28)}

body.aac-dark .aac-login-loader{background:#050b14!important;color:#edf5ff!important;color-scheme:dark}
body.aac-dark .aac-login-loader-bg{background:radial-gradient(circle at 22% 20%,rgba(121,190,255,.12),transparent 31%),radial-gradient(circle at 80% 22%,rgba(66,138,240,.18),transparent 29%),radial-gradient(circle at 52% 92%,rgba(31,95,209,.12),transparent 28%),#050b14!important}
body.aac-dark .aac-login-loader-card{padding:38px 42px 34px;border:1px solid #263d5a;border-radius:28px;background:rgba(9,21,37,.84);box-shadow:0 32px 95px rgba(0,0,0,.46);backdrop-filter:blur(20px)}
body.aac-dark .aac-loader-kicker{color:#8bc9ff!important}
body.aac-dark .aac-login-loader h2{color:#f1f7ff!important}
body.aac-dark .aac-login-loader p{color:#9fb0c3!important}
body.aac-dark .aac-loader-track{background:#172a40!important}
body.aac-dark .aac-loader-track span{background:linear-gradient(90deg,#79beff,#428af0,#1f5fd1)!important}
@media(max-width:560px){.aac-login-loader-card{padding:32px 24px 28px!important;border-radius:22px!important}}


/* Identity values are populated from the login profile and must never
   become visible/interactive required fields in the weekly KPI form. */
.aac-identity-hidden,
.aac-identity-hidden input,
.aac-identity-hidden select {
  display: none !important;
}


/* ===== AAC anonymous invitation access ===== */
.aac-access-gate{
  position:fixed;inset:0;z-index:100000;display:grid;place-items:center;
  padding:24px;background:
    radial-gradient(circle at 50% 8%,rgba(66,138,240,.16),transparent 34%),
    linear-gradient(180deg,#f8fbff 0%,#eef6ff 100%);
  color:#07111f;
}
.aac-access-gate.is-authorized{display:none}
.aac-access-shell{
  width:min(100%,460px);padding:38px 36px 32px;border:1px solid rgba(66,138,240,.16);
  border-radius:28px;background:rgba(255,255,255,.92);
  box-shadow:0 28px 80px rgba(17,55,105,.14);backdrop-filter:blur(18px);
}
.aac-access-brand{display:flex;align-items:center;gap:10px;margin-bottom:28px;font-size:24px;letter-spacing:-.03em}
.aac-access-brand span{font-size:28px;background:linear-gradient(135deg,#428af0,#7650c9,#d34f9d);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 10px rgba(66,138,240,.25))}
.aac-access-brand strong{font-weight:850}
.aac-access-kicker{font-size:11px;font-weight:850;letter-spacing:.16em;color:#3278df;margin-bottom:10px}
.aac-access-shell h1{margin:0 0 10px;font-size:clamp(30px,5vw,42px);letter-spacing:-.045em;line-height:1.02}
.aac-access-copy{margin:0 0 26px;color:#526176;line-height:1.6;font-size:15px}
#aacAccessForm label{display:block;margin:0 0 8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#334155}
#aacInviteCode{
  width:100%;box-sizing:border-box;border:1px solid #cbd9eb;border-radius:14px;padding:15px 16px;
  background:#fff;color:#07111f;font:750 16px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.08em;text-transform:uppercase;outline:none;transition:.18s ease;
}
#aacInviteCode:focus{border-color:#428af0;box-shadow:0 0 0 4px rgba(66,138,240,.12)}
#aacAccessSubmit{
  width:100%;margin-top:13px;border:0;border-radius:14px;padding:15px 17px;
  display:flex;align-items:center;justify-content:center;gap:10px;background:#428af0;color:white;
  font:800 15px/1 inherit;cursor:pointer;box-shadow:0 10px 26px rgba(66,138,240,.25);transition:.18s ease;
}
#aacAccessSubmit:hover{background:#3278df;transform:translateY(-1px)}
#aacAccessSubmit:disabled{opacity:.62;cursor:wait;transform:none}
.aac-access-error{min-height:20px;margin-top:10px;color:#b4233a;font-size:13px;font-weight:650}
.aac-access-checking{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px;color:#526176;font-size:14px}
.aac-access-spinner{width:17px;height:17px;border:2px solid rgba(66,138,240,.22);border-top-color:#428af0;border-radius:50%;animation:aacAccessSpin .7s linear infinite}
.aac-access-privacy{margin:22px 0 0;padding-top:18px;border-top:1px solid #e7eef8;color:#708096;font-size:12px;line-height:1.55}
@keyframes aacAccessSpin{to{transform:rotate(360deg)}}
body.aac-access-locked{overflow:hidden!important}
body.aac-dark .aac-access-gate{
  background:radial-gradient(circle at 50% 8%,rgba(66,138,240,.18),transparent 34%),#07111f;color:#f7fbff;
}
body.aac-dark .aac-access-shell{background:rgba(11,25,44,.94);border-color:rgba(121,190,255,.18);box-shadow:0 28px 90px rgba(0,0,0,.36)}
body.aac-dark .aac-access-copy,body.aac-dark .aac-access-checking{color:#a9b8cc}
body.aac-dark #aacAccessForm label{color:#c9d7e9}
body.aac-dark #aacInviteCode{background:#0b192c;border-color:#28415f;color:#f7fbff}
body.aac-dark .aac-access-privacy{border-color:#1e3550;color:#8fa2ba}
@media(max-width:560px){.aac-access-gate{padding:16px}.aac-access-shell{padding:30px 22px 26px;border-radius:22px}}
@media(prefers-reduced-motion:reduce){.aac-access-spinner{animation-duration:1.4s}#aacAccessSubmit{transition:none}}


/* ===== AAC two-step sign-out confirmation ===== */
#aacSignOutModal .aac-signout-copy{
  line-height:1.62;
}
#aacSignOutModal.aac-signout-final .aac-signout-dialog{
  border:1px solid rgba(180,35,24,.18);
  box-shadow:0 28px 90px rgba(58,18,18,.24);
}
#aacSignOutModal.aac-signout-final .aac-signout-icon{
  background:var(--red-soft);
  color:var(--red);
  box-shadow:0 0 0 7px rgba(180,35,24,.07);
}
#aacSignOutModal.aac-signout-final .aac-signout-copy{
  margin-top:12px;
  padding:14px 15px;
  border:1px solid rgba(180,35,24,.18);
  border-radius:12px;
  background:var(--red-soft);
  color:#7d2019;
}
#aacSignOutModal.aac-signout-final .aac-signout-copy strong{
  font-weight:900;
  letter-spacing:.025em;
}
#aacSignOutModal.aac-signout-final #aacSignOutConfirm{
  background:var(--red);
  color:#fff;
}
#aacSignOutModal.aac-signout-final #aacSignOutConfirm:hover{
  filter:brightness(.94);
}
body.aac-dark #aacSignOutModal.aac-signout-final .aac-signout-dialog{
  border-color:rgba(255,116,116,.22);
  box-shadow:0 28px 90px rgba(0,0,0,.48);
}
body.aac-dark #aacSignOutModal.aac-signout-final .aac-signout-copy{
  border-color:rgba(255,116,116,.2);
  background:rgba(180,35,24,.13);
  color:#ffc3bd;
}
@media(max-width:560px){
  #aacSignOutModal.aac-signout-final .aac-signout-copy{padding:13px}
}

/* Privacy-first AAC: guided prompts only; no message composer. */
.aac-prompt-panel{padding:14px 16px 17px;border-top:1px solid var(--line,#e1e7f2);background:var(--surface,#fff)}
.aac-prompt-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;font-size:13px;font-weight:800}
.aac-prompt-title small{font-size:11px;font-weight:500;color:var(--muted,#64748b)}
.aac-v2-quick{display:flex!important;flex-wrap:wrap;gap:8px;max-height:190px;overflow:auto;opacity:1!important;visibility:visible!important}
.aac-v2-quick button{font-size:12px;border:1px solid #cbdafa;border-radius:12px;padding:10px 13px;background:#f4f8ff;color:#164b90;transition:background .18s,transform .18s;cursor:pointer}
.aac-v2-quick button:hover:not(:disabled){background:#e3eeff;transform:translateY(-1px)}
.aac-v2-quick button:disabled{opacity:.55;cursor:wait}
.aac-v2-quick button.aac-prompt-change{background:transparent;color:inherit;border-style:dashed}
.aac-login-field small{display:block;margin-top:7px;font-size:12px;opacity:.75}
.aac-safe-choice-note{border:1px solid #d6e4fc;background:#f4f8ff;padding:14px 16px;border-radius:12px;font-size:13px}
.aac-dark .aac-prompt-panel{background:#111c31}.aac-dark .aac-v2-quick button{background:#152b4a;color:#d8ebff;border-color:#385678}.aac-dark .aac-v2-quick button.aac-prompt-change{background:transparent}.aac-dark .aac-safe-choice-note{background:#12233c;color:#dfebff;border-color:#345073}
@media(max-width:620px){.aac-prompt-title{flex-direction:column;align-items:flex-start}.aac-v2-quick{max-height:160px}.aac-v2-quick button{flex:1 1 42%}}

body.aac-dark .aac-prompt-panel{background:#071321;border-top-color:#2b4361}body.aac-dark .aac-v2-quick button{background:#152b4a;border-color:#3b5779;color:#dfedff}body.aac-dark .aac-v2-quick button.aac-prompt-change{background:transparent;color:#dfedff}
