/* Accessible brand palette landing page (tools/accessible-brand-palette only) */
.abp-hero code,.abp-sample code{font:700 .95em/1.3 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}

/* ---------- generator inputs ---------- */
.abp-gen{display:grid;gap:8px;max-width:680px;margin:20px 0 0}
.abp-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:10px;margin-bottom:6px}
.abp-field{display:grid;gap:4px;min-width:0}
.abp-field label,.abp-list-label{font-size:.88rem;font-weight:800;color:#17213c}
.abp-field small{font-size:.74rem;line-height:1.4;color:#4a5670}
.abp-field-row{display:flex;align-items:stretch;min-width:0;border:1.5px solid #9fb6dc;border-radius:12px;background:#fff;overflow:hidden}
.abp-field-row:focus-within{border-color:#1768e5;box-shadow:0 0 0 4px rgba(23,104,229,.16)}
.abp-field-row:has([aria-invalid=true]){border-color:#b42318;box-shadow:0 0 0 4px rgba(180,35,24,.12)}
.abp-field input[type=color]{flex:none;width:48px;min-height:48px;margin:0;padding:5px;border:0;border-right:1px solid #dbe2f3;background:#f7faff;cursor:pointer}
.abp-field input[type=color]:focus-visible{outline:3px solid #1768e5;outline-offset:-3px}
.abp-field input[type=text]{flex:1;width:100%;min-width:0;margin:0;padding:0 10px;border:0;background:transparent;color:#17213c;font:700 .95rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;text-transform:uppercase}
.abp-field input[type=text]:focus{outline:none}
.abp-f-brand input[type=color]{width:56px;min-height:54px}
.abp-f-brand input[type=text]{font-size:1.1rem}
.abp-list-label{margin-top:2px}
.abp-gen textarea{width:100%;min-height:78px;margin:0;padding:10px 12px;border:1.5px solid #9fb6dc;border-radius:12px;background:#fff;color:#17213c;font:600 .92rem/1.45 ui-monospace,SFMono-Regular,Consolas,monospace;resize:vertical;box-sizing:border-box}
.abp-gen textarea:focus{outline:none;border-color:#1768e5;box-shadow:0 0 0 4px rgba(23,104,229,.16)}
.abp-gen textarea::placeholder{color:#6b778c}
.abp-help{margin:0;font-size:.82rem;line-height:1.5;color:#4a5670}
.abp-list-note{font-weight:700;color:#344054}
.abp-list-note:empty{display:none}
.abp-chips{display:flex;flex-wrap:wrap;gap:6px}
.abp-chips[hidden]{display:none}
.abp-chipbtn{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 11px 0 8px;border:1px solid #c3cfe2;border-radius:999px;background:#fff;color:#17213c;font:700 .82rem/1 ui-monospace,SFMono-Regular,Consolas,monospace;cursor:pointer}
.abp-chipbtn svg{width:22px;height:22px;flex:none}
.abp-chipbtn:hover{border-color:#1768e5}
.abp-chipbtn[aria-pressed=true]{border-color:#0b213d;background:#0b213d;color:#fff}
.abp-chipbtn:focus-visible{outline:3px solid #1768e5;outline-offset:2px}

/* file drop zone as the second path */
.abp-hero .abp-drop{gap:6px;margin-top:18px;padding:16px 18px}
.abp-hero .abp-drop .wt-drop-button{min-height:48px;background:#fff;color:#1250b5;border:1.5px solid #9fb6dc;box-shadow:none}
.abp-hero .abp-drop .wt-drop-button:hover{border-color:#1768e5;box-shadow:none}

/* mobile order (hero children are laid out with display:contents below 800px) */
.mt-hero.abp-hero .mt-promise>.abp-gen{order:4}
.mt-hero.abp-hero>.abp-out{order:5}
.mt-hero.abp-hero .mt-promise>.wt-drop{order:6}
.mt-hero.abp-hero .mt-promise>.mt-price{order:7}
.mt-hero.abp-hero .mt-promise>.mt-limits{order:8}

/* ---------- live output card ---------- */
.abp-out{align-self:start;min-width:0;overflow:hidden;border:1px solid #bfd0e5;border-radius:24px;background:#fff;box-shadow:0 25px 65px rgba(9,34,70,.13)}
.abp-out-head{display:grid;gap:4px;padding:18px 20px 12px;border-bottom:1px solid #dbe2f3}
.abp-out-head h2{margin:0;font-size:1.15rem;line-height:1.3;letter-spacing:-.01em;color:#17213c}
.abp-out-head p{margin:0;font-size:.86rem;line-height:1.5;color:#4a5670}
.abp-alpha{font-weight:700}
.abp-alpha[hidden]{display:none}
.abp-cols,.abp-steps li{display:grid;grid-template-columns:44px minmax(0,1fr) 96px 96px;gap:10px;align-items:center}
.abp-cols{padding:10px 28px 4px;font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#4a5670}
.abp-cols span:first-child{grid-column:1/3}
.abp-steps{display:grid;gap:2px;margin:0;padding:0 12px 8px;list-style:none}
.abp-steps li{padding:3px 8px;border:1px solid transparent;border-radius:12px}
.abp-steps li.abp-base{border-color:#0b213d;background:#f5f8fe}
.abp-chip{display:block;width:44px}
.abp-chip svg{display:block;width:44px;height:36px}
.abp-copy{display:grid;justify-items:start;align-content:center;gap:1px;min-width:0;min-height:44px;margin:0;padding:2px 8px;border:0;border-radius:8px;background:transparent;color:#17213c;font:inherit;text-align:left;cursor:pointer}
.abp-copy small{font-size:.72rem;font-weight:700;color:#4a5670}
.abp-copy code{font-size:.9rem;font-weight:800}
.abp-copy:hover{background:#eef4ff}
.abp-copy:focus-visible,.abp-btn:focus-visible{outline:3px solid #1768e5;outline-offset:2px}
.abp-on{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;font-size:.84rem;line-height:1.4;color:#344054}
.abp-ratio{font-weight:700;font-variant-numeric:tabular-nums}
.abp-on b{padding:1px 7px;border-radius:6px;font-size:.72rem;font-weight:800;white-space:nowrap}
.abp-l-ok b{background:#e3f4ea;color:#155c38}
.abp-l-mid b{background:#fff3d6;color:#7a4b00}
.abp-l-no b{background:#fde8e6;color:#9a2419}

.abp-best,.abp-pl{padding:12px 20px;border-top:1px solid #edf1f8}
.abp-best h3,.abp-pl h3{margin:0 0 6px;font-size:.92rem;line-height:1.35;color:#17213c}
.abp-best ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.abp-best li{display:grid;grid-template-columns:118px minmax(0,1fr) minmax(0,1fr);gap:8px;align-items:center;font-size:.84rem;color:#344054}
.abp-best-on{font-weight:800;color:#17213c}
.abp-best-cell{display:flex;flex-wrap:wrap;align-items:center;gap:4px 6px;min-width:0}
.abp-best-cell>b{padding:1px 7px;border-radius:6px;background:#eef2f8;color:#17213c;font-size:.72rem;font-weight:800}
.abp-best-cell svg{width:30px;height:24px;flex:none}
.abp-copy-sm{display:inline-flex;align-items:center;min-height:40px;padding:0 6px;font:800 .86rem/1 ui-monospace,SFMono-Regular,Consolas,monospace}
.abp-none{color:#9a2419}

.abp-pl[hidden]{display:none}
.abp-pl-sum{margin:0 0 8px;font-size:.84rem;line-height:1.5;color:#344054}
.abp-pl ol{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.abp-pl li{display:grid;grid-template-columns:44px minmax(0,1fr) 96px;gap:10px;align-items:center}
.abp-pl li svg{width:44px;height:36px}
.abp-pl-name{min-width:0;font-size:.84rem;color:#344054}
.abp-pl-more{margin:6px 0 0;font-size:.82rem;color:#4a5670}
.abp-pl-more[hidden]{display:none}

.abp-actions{display:flex;flex-wrap:wrap;gap:8px;padding:14px 20px 4px;border-top:1px solid #dbe2f3}
.abp-btn{flex:1 1 auto;min-height:44px;margin:0;padding:0 16px;border:1.5px solid #9fb6dc;border-radius:12px;background:#fff;color:#1250b5;font:800 .92rem/1.2 Manrope,system-ui,sans-serif;cursor:pointer}
.abp-btn:hover{border-color:#1768e5}
.abp-btn-main{flex-basis:100%;min-height:50px;border-color:#1768e5;background:linear-gradient(180deg,#2f7bf2,#1768e5);color:#fff;font-size:1rem}
.abp-btn-main:hover{border-color:#1250b5}
.abp-btn:disabled{opacity:.55;cursor:not-allowed}
.abp-run-note,.abp-status{margin:0;padding:6px 20px 0;font-size:.8rem;line-height:1.5;color:#4a5670}
.abp-status{font-size:.86rem;font-weight:700;color:#155c38}
.abp-status.is-error{color:#9a2419}
.abp-status:empty{display:none}
.abp-legend{margin:0;padding:10px 20px 16px;font-size:.78rem;line-height:1.5;color:#4a5670}
.abp-offscreen{position:fixed;top:0;left:-9999px;opacity:0}

/* ---------- sample report (full check) ---------- */
.abp-lede{max-width:760px;color:var(--muted,#52647b);font-size:1.02rem;line-height:1.6}
.abp-sample .abp-demo{max-width:780px}
.abp-demo{display:grid;align-self:start}
.abp-demo-head{display:grid;gap:4px;padding:18px 20px 12px;border-bottom:1px solid #dbe2f3}
.abp-demo-head strong{font-size:1.1rem;line-height:1.3;color:#17213c}
.abp-demo-head small{font-size:.86rem;line-height:1.5;color:#4a5670}

/* segmented radio toggles (CSS only) */
.abp-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0;border:0;min-width:0}
.abp-toggle legend{float:left;margin:0 6px 0 0;padding:0;font-size:.82rem;font-weight:800;color:#344054}
.abp-radio{position:absolute;width:1px;height:1px;margin:0;opacity:0}
.abp-toggle label{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #c3cfe2;border-radius:999px;background:#fff;color:#17213c;font-size:.9rem;font-weight:750;cursor:pointer}
.abp-toggle label:hover{border-color:#1768e5}
.abp-radio:checked+label{border-color:#0b213d;background:#0b213d;color:#fff}
.abp-radio:focus-visible+label{outline:3px solid #1768e5;outline-offset:2px}
.abp-target{padding:12px 20px 0}

/* target switch: AA shown by default, AAA via :has */
.abp-demo .abp-aaa{display:none}
.abp-demo:has(#abp-t-aaa:checked) .abp-aaa{display:revert}
.abp-demo:has(#abp-t-aaa:checked) ul.abp-aaa{display:flex}
.abp-demo:has(#abp-t-aaa:checked) .abp-aa{display:none}

.abp-sum{margin:10px 20px 0;font-size:.88rem;font-weight:700;color:#344054}
.abp-pairs{display:grid;gap:0;margin:8px 0 0;padding:0;list-style:none}
.abp-pair{display:grid;grid-template-columns:56px minmax(0,1fr);gap:12px;padding:12px 20px;border-top:1px solid #edf1f8}
.abp-pair:first-child{border-top:0}
.abp-sw{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;border:1px solid rgba(23,33,60,.16);font-size:1.45rem;font-weight:800;line-height:1}
.abp-pair-body{display:grid;gap:6px;min-width:0}
.abp-pair-name{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:2px 10px;margin:0;font-size:.86rem;line-height:1.4;color:#344054}
.abp-pair-name strong{font-size:1.05rem;color:#17213c;white-space:nowrap}
.abp-roles{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.abp-roles li{padding:2px 9px;border-radius:999px;font-size:.76rem;font-weight:700;line-height:1.6}
.abp-roles b{font-weight:800}
.abp-pass{background:#e3f4ea;color:#155c38}
.abp-fail{background:#fde8e6;color:#9a2419}
.abp-sug{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0;font-size:.84rem;line-height:1.45;color:#344054}
.abp-sug.abp-ok{color:#155c38}
.abp-demo:has(#abp-t-aaa:checked) .abp-sug.abp-aaa{display:flex}
.abp-mini{display:inline-grid;place-items:center;width:30px;height:24px;border-radius:6px;border:1px solid rgba(23,33,60,.16);font-size:.8rem;font-weight:800}
.abp-files{margin:0;padding:12px 20px 18px;border-top:1px solid #dbe2f3;font-size:.86rem;color:#4a5670}

@media (max-width:900px){
  .abp-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .abp-f-brand{grid-column:1/-1}
}
@media (max-width:560px){
  .abp-out{border-radius:18px}
  .abp-out-head{padding:16px 14px 12px}
  .abp-cols,.abp-steps li{grid-template-columns:40px minmax(0,1fr) 60px 60px;gap:6px}
  .abp-cols{padding:10px 18px 4px}
  .abp-steps{padding:0 6px 8px}
  .abp-steps li{padding:3px 6px}
  .abp-chip,.abp-chip svg{width:40px}
  .abp-copy{padding:2px 4px}
  .abp-copy code{font-size:.82rem}
  .abp-on{display:grid;justify-items:end;gap:1px;font-size:.8rem}
  .abp-best,.abp-pl{padding:12px 14px}
  .abp-cols{font-size:.66rem;letter-spacing:.02em}
  .abp-cols span{text-align:right;white-space:nowrap}
  .abp-cols span:first-child{text-align:left}
  .abp-best li{grid-template-columns:minmax(0,1fr);gap:2px}
  .abp-pl li{grid-template-columns:40px minmax(0,1fr) 60px;gap:8px}
  .abp-pl li svg{width:40px}
  .abp-actions{padding:12px 14px 4px}
  .abp-run-note,.abp-status{padding:6px 14px 0}
  .abp-legend{padding:10px 14px 14px}
  .abp-demo-head{padding:16px 14px 12px}
  .abp-target{padding:12px 14px 0}
  .abp-sum{margin:10px 14px 0}
  .abp-pair{grid-template-columns:44px minmax(0,1fr);gap:10px;padding:12px 14px}
  .abp-sw{width:44px;height:44px;font-size:1.1rem}
  .abp-files{padding:12px 14px 16px}
  .abp-toggle legend{float:none;width:100%;margin:0 0 2px}
}
@media (prefers-reduced-motion:reduce){.abp-toggle label,.abp-btn,.abp-copy,.abp-chipbtn{transition:none}}

/* sample report colors */
.abp-b3b6fe0{background:#3B6FE0}.abp-f3b6fe0{color:#3B6FE0}
.abp-bf5a524{background:#F5A524}.abp-ff5a524{color:#F5A524}
.abp-bffffff{background:#FFFFFF}
.abp-f010103{color:#010103}
.abp-f14213d{color:#14213D}
.abp-f162852{color:#162852}
.abp-f24448a{color:#24448A}
.abp-f2d55ab{color:#2D55AB}
.abp-f785112{color:#785112}
.abp-fa06c18{color:#A06C18}
