/* ============================================================
   AIEI Policy Builder
   Tokens shared with the Standard Viewer; its own components
   (line stepper, tinted feature panels with a blue→teal edge).
   Light theme only: the builder sits on ai-ei.org's white pages.
   Everything is scoped under .aiei-pb and every class carries a
   pb- prefix, so nothing leaks into the theme or out of it.
   ============================================================ */
.aiei-pb{
  --paper:#FFFFFF; --tint:#F4F7FB; --tint-2:#EAF0F6; --line:#DDE6EE; --line-soft:#E8EEF4; --line-2:#C6D5E2;
  --ink:#0A2535; --ink-2:#1E374A; --muted:#55708A; --faint:#7A93A9;
  --blue:#2450DB; --blue-fill:#3366FF; --blue-050:#F3F6FF; --blue-100:#E3EBFF;
  --teal:#0B7F73; --teal-bg:#E7F5F2; --clay:#9A5220; --clay-bg:#FBF1EA;
  --high:#B3372A; --high-bg:#FBEDEB; --med:#8A6410; --med-bg:#FAF2E1;
  --hover:#009688;
  --radius:16px;
  --aiei-top:0px;                     /* clearance for a sticky theme header */
  --sh-1:0 1px 2px rgba(10,37,53,.05),0 2px 8px rgba(10,37,53,.05);
  --sh-3:0 4px 10px rgba(10,37,53,.10),0 26px 60px rgba(10,37,53,.18);
  --ease:cubic-bezier(.16,1,.3,1);
  --sans:"Open Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  display:block;color-scheme:light;font-family:var(--sans);color:var(--ink);font-size:15px;line-height:1.55;text-align:left;
  padding:24px 0 80px;                /* breathing room from the site header and footer */
  -webkit-font-smoothing:antialiased;
}
.aiei-pb *,.aiei-pb *::before,.aiei-pb *::after{box-sizing:border-box}
.aiei-pb h1,.aiei-pb h2,.aiei-pb h3,.aiei-pb h4{margin:0;padding:0;font-family:var(--sans);font-weight:700;line-height:1.2;letter-spacing:-.018em;color:var(--ink);text-transform:none;text-wrap:balance}
.aiei-pb p,.aiei-pb ul,.aiei-pb ol,.aiei-pb table{margin:0}
.aiei-pb ul,.aiei-pb ol{padding:0;list-style:none}
/* Themes often style content lists (e.g. ai-ei.org: .post-box ol li{list-style:decimal},
   .post-box ul li{list-style:disc}). The doubled class outranks those, so no stray
   numbers or bullets appear in the stepper, contents or side panel. */
/* Same for theme spacing on content elements (.post-box p{margin-bottom:24px} etc.):
   these win whatever order the stylesheets load in, and every component rule below
   still overrides them. */
.aiei-pb.aiei-pb :where(p,ul,ol,table,h1,h2,h3,h4){margin-bottom:0}
.aiei-pb.aiei-pb :where(ul,ol){padding-left:0}
.aiei-pb.aiei-pb :where(h1,h2,h3,h4){line-height:1.2}
.aiei-pb.aiei-pb li{margin:0;list-style:none}
.aiei-pb.aiei-pb li::before{content:none}
.aiei-pb.aiei-pb .pb-sec-body ul:not(.pb-terms) > li{list-style:disc}
.aiei-pb a{color:var(--blue)}
.aiei-pb button{font:inherit;color:inherit;letter-spacing:normal;text-transform:none;margin:0;box-shadow:none;min-height:0;min-width:0;line-height:inherit;cursor:pointer}
.aiei-pb input{font:inherit;margin:0}
.aiei-pb svg{flex:none;display:inline-block;vertical-align:middle}
.aiei-pb :focus-visible{outline:2.5px solid var(--blue-fill);outline-offset:3px;border-radius:4px}
.aiei-pb :focus:not(:focus-visible){outline:none}
.aiei-pb .pb-num{font-variant-numeric:tabular-nums}
.aiei-pb [hidden]{display:none !important}

/* ---------- head ---------- */
.aiei-pb .pb-head{padding:10px 0 30px;max-width:780px}
.aiei-pb .pb-kicker{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.aiei-pb .pb-title{font-size:clamp(28px,3.2vw,36px);line-height:1.12;margin-top:10px}
.aiei-pb .pb-sub{margin-top:12px;color:var(--muted);max-width:62ch;font-size:15.5px;line-height:1.6}
.aiei-pb .pb-facts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:18px;font-size:13.5px;color:var(--ink-2)}
.aiei-pb .pb-facts li{display:inline-flex;align-items:center;gap:7px}
.aiei-pb .pb-facts svg{color:var(--teal)}
.aiei-pb .pb-try{background:none;border:0;padding:0;color:var(--blue);font-weight:700;font-size:13.5px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(36,80,219,.35)}
.aiei-pb .pb-try:hover{text-decoration-color:currentColor;background:none}
.aiei-pb .pb-admin-note{margin:0 0 18px;padding:10px 13px;border:1.5px dashed #C9A13B;background:#FFFBF0;color:#6B4E0A;border-radius:10px;font-size:13px}

/* ---------- stepper ---------- */
.aiei-pb .pb-steps{padding:4px 0 2px}
.aiei-pb .pb-steps-row{display:grid;grid-template-columns:repeat(6,1fr)}
.aiei-pb .pb-stp{position:relative;display:flex;flex-direction:column;align-items:center;gap:7px;width:100%;padding:0 4px;background:none;border:0;text-align:center}
.aiei-pb .pb-stp:hover{background:none}
.aiei-pb .pb-stp::before{content:'';position:absolute;top:15px;left:calc(-50% + 24px);right:calc(50% + 24px);height:2px;border-radius:2px;background:var(--line);transition:background .3s var(--ease)}
.aiei-pb li:first-child > .pb-stp::before{display:none}
.aiei-pb .pb-stp.is-passed::before{background:var(--blue-fill)}
.aiei-pb .pb-stp-dot{width:32px;height:32px;border-radius:50%;border:2px solid var(--line-2);background:var(--paper);display:grid;place-items:center;font-weight:700;font-size:13px;color:var(--muted);transition:all .25s var(--ease)}
.aiei-pb .pb-stp:hover .pb-stp-dot{border-color:var(--blue-fill);color:var(--blue)}
.aiei-pb .pb-stp.is-done .pb-stp-dot{border-color:var(--teal);background:var(--teal-bg);color:var(--teal)}
.aiei-pb .pb-stp[aria-current="step"] .pb-stp-dot{border-color:var(--blue-fill);background:var(--blue-fill);color:#fff;box-shadow:0 0 0 5px var(--blue-100)}
.aiei-pb .pb-stp-t{font-weight:700;font-size:13.5px;line-height:1.25;color:var(--ink-2)}
.aiei-pb .pb-stp[aria-current="step"] .pb-stp-t{color:var(--blue)}
.aiei-pb .pb-stp-s{font-size:12px;color:var(--muted);margin-top:-4px;white-space:nowrap}
.aiei-pb.w-sm .pb-stp-t,.aiei-pb.w-sm .pb-stp-s{display:none}
.aiei-pb.w-sm .pb-stp-dot{width:28px;height:28px;font-size:12px}
.aiei-pb.w-sm .pb-stp::before{top:13px;left:calc(-50% + 20px);right:calc(50% + 20px)}

/* ---------- columns & panels ---------- */
.aiei-pb .pb-cols{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;margin-top:28px;align-items:start}
.aiei-pb.w-lg .pb-cols{grid-template-columns:minmax(0,1fr) 340px}
.aiei-pb .pb-panel{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--sh-1);position:relative}
.aiei-pb .pb-stack{display:flex;flex-direction:column;gap:18px}
.aiei-pb .pb-alert{padding:12px 15px;border-radius:12px;background:var(--high-bg);color:var(--high);font-size:13.5px;font-weight:600}
.aiei-pb .pb-alert.is-info{background:var(--blue-050);color:var(--blue)}

/* ---------- questionnaire ---------- */
.aiei-pb .pb-step-h{padding:24px 26px 8px}
.aiei-pb .pb-step-h h3{font-size:22px;margin-top:7px}
.aiei-pb .pb-step-h p{color:var(--muted);margin-top:7px;max-width:62ch;font-size:14.5px}
.aiei-pb .pb-q{margin:0;padding:22px 26px 24px;border-top:1px solid var(--line-soft);min-width:0}
.aiei-pb .pb-step-h + .pb-q{border-top:0}
.aiei-pb .pb-q-l{font-weight:700;font-size:15.5px;line-height:1.35;display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 10px;color:var(--ink)}
.aiei-pb .pb-q-multi{font-size:12px;font-weight:600;color:var(--faint)}
.aiei-pb .pb-q-h{font-size:13.5px;color:var(--muted);margin-top:4px;max-width:66ch;line-height:1.55}
.aiei-pb .pb-opts{margin-top:14px}
.aiei-pb .pb-opts-chips{display:flex;flex-wrap:wrap;gap:8px}
.aiei-pb .pb-opts-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.aiei-pb .pb-opt{position:relative;display:block;cursor:pointer;margin:0;font-weight:400}
.aiei-pb .pb-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer;appearance:none;-webkit-appearance:none;border:0;background:none}
.aiei-pb .pb-opts-chips .pb-opt-b{display:inline-flex;align-items:center;gap:9px;padding:8px 14px 8px 11px;border:1px solid var(--line-2);border-radius:99px;font-size:14px;line-height:1.4;background:var(--paper);color:var(--ink);transition:border-color .18s var(--ease),background .18s var(--ease),color .18s var(--ease),box-shadow .18s var(--ease)}
.aiei-pb .pb-opts-chips .pb-opt-b::before{content:'';width:15px;height:15px;border-radius:50%;border:1.5px solid var(--line-2);background:var(--paper);flex:none;transition:all .18s var(--ease)}
.aiei-pb .pb-opts-chips .pb-opt.is-multi .pb-opt-b::before{border-radius:4px}
.aiei-pb .pb-opt:hover .pb-opt-b{border-color:var(--muted);box-shadow:var(--sh-1)}
.aiei-pb .pb-opts-chips .pb-opt input:checked + .pb-opt-b{background:var(--blue-050);border-color:var(--blue-fill);color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue-fill)}
.aiei-pb .pb-opts-chips .pb-opt input:checked + .pb-opt-b::before{border-color:var(--blue-fill);background:var(--blue-fill);box-shadow:inset 0 0 0 3px var(--paper)}
.aiei-pb .pb-opts-chips .pb-opt.is-multi input:checked + .pb-opt-b::before{box-shadow:none;background:var(--blue-fill) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23FFFFFF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat}
.aiei-pb .pb-opt input:focus-visible + .pb-opt-b{outline:2.5px solid var(--blue-fill);outline-offset:2px}
.aiei-pb .pb-opts-cards .pb-opt-b{display:block;height:100%;padding:13px 15px;border:1px solid var(--line-2);border-radius:12px;background:var(--paper);transition:border-color .18s var(--ease),background .18s var(--ease),box-shadow .18s var(--ease)}
.aiei-pb .pb-opts-cards .pb-opt-t{display:block;font-weight:700;font-size:14.5px;color:var(--ink)}
.aiei-pb .pb-opts-cards .pb-opt-d{display:block;font-size:13px;color:var(--muted);margin-top:4px;line-height:1.5}
.aiei-pb .pb-opts-cards input:checked + .pb-opt-b{border-color:var(--blue-fill);background:var(--blue-050);box-shadow:inset 0 0 0 1px var(--blue-fill)}
.aiei-pb .pb-opts-cards input:checked + .pb-opt-b .pb-opt-t{color:var(--blue)}
.aiei-pb .pb-step-f{display:flex;align-items:center;gap:12px;padding:16px 26px;border-top:1px solid var(--line);background:var(--tint);border-radius:0 0 var(--radius) var(--radius);flex-wrap:wrap}
.aiei-pb .pb-step-f.is-solo{border-top:0;border-radius:var(--radius)}
.aiei-pb .pb-step-note{font-size:13px;color:var(--muted)}
.aiei-pb .pb-step-nav{margin-left:auto;display:flex;gap:10px;flex-wrap:wrap}
.aiei-pb.w-sm .pb-step-h,.aiei-pb.w-sm .pb-q{padding-left:18px;padding-right:18px}
.aiei-pb.w-sm .pb-step-f{padding:14px 18px}

/* ---------- buttons ---------- */
.aiei-pb .pb-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue-fill);color:#fff;border:0;border-radius:8px;padding:11px 22px;font:600 14px/1.2 var(--sans);text-decoration:none;transition:background .35s ease,border-color .2s,color .2s;white-space:nowrap}
.aiei-pb .pb-btn:hover,.aiei-pb .pb-btn:focus-visible{background:var(--hover);color:#fff}
.aiei-pb .pb-btn[disabled]{opacity:.55;cursor:default}
.aiei-pb .pb-btn[disabled]:hover{background:var(--blue-fill)}
.aiei-pb .pb-btn-sec{background:var(--paper);color:var(--ink);border:1px solid var(--line-2)}
.aiei-pb .pb-btn-sec:hover,.aiei-pb .pb-btn-sec:focus-visible{background:var(--paper);border-color:var(--blue-fill);color:var(--blue)}
.aiei-pb .pb-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:18px}
.aiei-pb .pb-fine{font-size:12px;color:var(--muted)}

/* ---------- side: the live policy ---------- */
.aiei-pb .pb-side{display:flex;flex-direction:column;gap:16px}
.aiei-pb.w-lg .pb-side.is-sticky{position:sticky;top:calc(var(--aiei-top) + 20px)}
.aiei-pb .pb-sp-in{padding:18px 20px 20px}
.aiei-pb .pb-sp-h{display:flex;align-items:baseline;gap:10px}
.aiei-pb .pb-sp-h h3{font-size:16px}
.aiei-pb .pb-sp-count{margin-left:auto;font-size:12.5px;color:var(--muted)}
.aiei-pb .pb-sp-meta{margin-top:10px;display:flex;gap:6px;flex-wrap:wrap}
.aiei-pb .pb-pill{display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 9px;border-radius:6px;font-size:11.5px;font-weight:600;background:var(--tint-2);color:var(--muted)}
.aiei-pb .pb-pill b{color:var(--ink);font-weight:700}
.aiei-pb .pb-sp-g{margin-top:16px}
.aiei-pb .pb-sp-g h4{font-size:10.5px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.aiei-pb .pb-sp-core{width:100%;display:flex;align-items:center;gap:10px;background:var(--tint);border:1px solid var(--line-soft);border-radius:10px;padding:10px 12px;font-weight:600;font-size:13.5px;text-align:left;color:var(--ink)}
.aiei-pb .pb-sp-core:hover{border-color:var(--line-2);background:var(--tint)}
.aiei-pb .pb-sp-core .pb-n{margin-left:auto;color:var(--muted);font-weight:600}
.aiei-pb .pb-sp-core svg{transition:transform .3s var(--ease);color:var(--muted)}
.aiei-pb .pb-sp-core[aria-expanded="true"] svg{transform:rotate(180deg)}
.aiei-pb .pb-sp-list li{display:flex;gap:10px;padding:8px 6px;margin:0 -6px;border-radius:8px;border-bottom:1px solid var(--line-soft);font-size:13.5px;line-height:1.4;color:var(--ink)}
.aiei-pb .pb-sp-list li:last-child{border-bottom:0}
.aiei-pb .pb-mk{width:8px;height:8px;border-radius:50%;margin-top:6px;flex:none;background:var(--teal)}
.aiei-pb .pb-sp-list li.is-off{color:var(--faint)}
.aiei-pb .pb-sp-list li.is-off .pb-mk{background:transparent;border:1.5px dashed var(--line-2)}
.aiei-pb .pb-why{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.aiei-pb .pb-lk{margin-left:auto;color:var(--faint);padding-top:2px}
.aiei-pb .pb-sp-list li.is-new{animation:pbFlash 1.6s var(--ease)}
@keyframes pbFlash{0%{background:var(--blue-100)}100%{background:transparent}}
.aiei-pb .pb-core-list{margin-top:6px}
.aiei-pb .pb-fl-list{margin-top:6px}
.aiei-pb .pb-fl{padding:12px 0;border-bottom:1px solid var(--line-soft)}
.aiei-pb .pb-fl:last-child{border-bottom:0;padding-bottom:0}
.aiei-pb .pb-sev{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:3px 7px;border-radius:5px}
.aiei-pb .pb-sev-conflict{color:var(--high);background:var(--high-bg)}
.aiei-pb .pb-sev-legal{color:var(--clay);background:var(--clay-bg)}
.aiei-pb .pb-sev-check{color:var(--med);background:var(--med-bg)}
.aiei-pb .pb-sev-missing{color:var(--muted);background:var(--tint-2)}
.aiei-pb .pb-sev-info{color:var(--blue);background:var(--blue-100)}
.aiei-pb .pb-fl-t{display:block;font-weight:700;font-size:13.5px;margin-top:7px;line-height:1.35;color:var(--ink)}
.aiei-pb .pb-fl-x{font-size:13px;color:var(--ink-2);margin-top:3px;line-height:1.5}
.aiei-pb .pb-fl-go{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;color:var(--blue);background:none;border:0;padding:0;margin-top:7px}
.aiei-pb .pb-fl-go:hover{text-decoration:underline;text-underline-offset:3px;background:none}
.aiei-pb .pb-fl-none{font-size:13px;color:var(--muted);margin-top:8px}
.aiei-pb .pb-flags-inline .pb-fl-list{display:grid;grid-template-columns:1fr;gap:0 26px}
.aiei-pb.w-lg .pb-flags-inline .pb-fl-list,.aiei-pb.w-md .pb-flags-inline .pb-fl-list{grid-template-columns:1fr 1fr}
.aiei-pb .pb-flags-inline .pb-fl{border-bottom:0;border-top:1px solid var(--line-soft);padding:12px 0}
.aiei-pb .pb-flags-inline .pb-sp-in{padding:20px 26px 12px}

/* contents (review and export) */
.aiei-pb .pb-toc{margin-top:8px}
.aiei-pb .pb-toc a{display:grid;grid-template-columns:22px 1fr auto;gap:6px;align-items:baseline;padding:5px 8px;margin:0 -8px;border-radius:7px;color:var(--ink-2);text-decoration:none;font-size:13.5px;line-height:1.35;box-shadow:none;border:0}
.aiei-pb .pb-toc a:hover{background:var(--tint-2);color:var(--ink)}
.aiei-pb .pb-toc a.is-cur{background:var(--blue-100);color:var(--blue);font-weight:700}
.aiei-pb .pb-toc a.is-cur .pb-tn{color:var(--blue)}
.aiei-pb .pb-tn{color:var(--faint);font-size:12.5px}
.aiei-pb .pb-tm{display:inline-flex;gap:6px;align-items:center;color:var(--faint)}
.aiei-pb .pb-dot{width:7px;height:7px;border-radius:50%;display:inline-block;flex:none}
.aiei-pb .pb-dot-ai{background:var(--blue-fill)}
.aiei-pb .pb-dot-ed{background:var(--med)}
.aiei-pb .pb-toc-key{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft);font-size:11.5px;color:var(--muted)}
.aiei-pb .pb-toc-key span{display:inline-flex;align-items:center;gap:5px}
.aiei-pb .pb-toc-alert{display:flex;align-items:center;gap:8px;width:100%;margin-top:12px;padding:9px 11px;border:0;border-radius:9px;background:var(--high-bg);color:var(--high);font-weight:700;font-size:13px;text-align:left}
.aiei-pb .pb-toc-alert:hover{background:var(--high-bg);filter:brightness(.97)}

/* ---------- feature panels ---------- */
.aiei-pb .pb-feature{background:linear-gradient(180deg,var(--blue-050) 0%,var(--paper) 78%);border:1px solid var(--blue-100);border-radius:var(--radius);padding:26px 26px 24px;position:relative;overflow:hidden;box-shadow:var(--sh-1)}
.aiei-pb .pb-feature::before{content:'';position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue-fill),#0FA697)}
.aiei-pb .pb-feature.is-ready{background:linear-gradient(180deg,var(--teal-bg) 0%,var(--paper) 70%);border-color:#CFE9E4}
.aiei-pb .pb-feature h3{font-size:19px;line-height:1.35;margin-top:8px}
.aiei-pb .pb-feature p{font-size:14.5px;line-height:1.65;margin-top:8px;max-width:66ch;color:var(--ink-2)}
.aiei-pb .pb-mark{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.aiei-pb .pb-mark.is-ok{color:var(--teal)}
.aiei-pb .pb-mark.is-warn{color:var(--clay)}
.aiei-pb .pb-progress{height:4px;border-radius:99px;background:var(--blue-100);overflow:hidden;margin-top:16px}
.aiei-pb .pb-progress i{display:block;height:100%;width:0;background:var(--blue-fill);border-radius:99px;transition:width .4s var(--ease)}
.aiei-pb .pb-feature .pb-issues{margin-top:14px;font-size:13.5px;color:var(--high);font-weight:600}
.aiei-pb .pb-stats{display:flex;gap:28px;flex-wrap:wrap;margin-top:16px}
.aiei-pb .pb-stat b{display:block;font-size:26px;line-height:1.05;color:var(--ink);font-weight:700}
.aiei-pb .pb-stat span{display:block;font-size:12px;color:var(--muted);margin-top:4px}
.aiei-pb .pb-msg{margin-top:12px;font-size:13.5px;font-weight:600;color:var(--teal)}
.aiei-pb .pb-msg.is-error{color:var(--high)}

/* ---------- document ---------- */
.aiei-pb .pb-doc{padding:34px 40px 36px}
.aiei-pb.w-sm .pb-doc{padding:24px 18px}
.aiei-pb .pb-doc-title{padding-bottom:22px}
.aiei-pb .pb-doc-title h3{font-size:clamp(22px,2.6vw,28px);margin-top:8px}
.aiei-pb .pb-doc-meta{font-size:13px;color:var(--muted);margin-top:8px}
.aiei-pb .pb-sec{scroll-margin-top:calc(var(--aiei-top) + 16px);position:relative;padding:22px 0 18px;border-top:1px solid var(--line-soft)}
.aiei-pb .pb-sec-h{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.aiei-pb .pb-sec-n{font-weight:800;color:var(--blue);min-width:24px}
.aiei-pb .pb-sec-h h4{font-size:17px}
.aiei-pb .pb-sec-tags{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
.aiei-pb .pb-tag{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.aiei-pb .pb-tag-lock{background:var(--tint-2);color:var(--muted)}
.aiei-pb .pb-tag-added{background:var(--teal-bg);color:var(--teal)}
.aiei-pb .pb-tag-ai{background:var(--blue-100);color:var(--blue)}
.aiei-pb .pb-tag-edit{background:var(--med-bg);color:var(--med)}
.aiei-pb .pb-sec-body{margin-top:10px;font-size:15px;line-height:1.7;color:var(--ink-2);max-width:74ch}
.aiei-pb .pb-sec-body > * + *{margin-top:10px}
.aiei-pb .pb-sec-body p{margin:0}
.aiei-pb .pb-sec-body > * + p,.aiei-pb .pb-sec-body > * + ul,.aiei-pb .pb-sec-body > * + div{margin-top:10px}
.aiei-pb .pb-sec-body ul{padding-left:20px;list-style:disc}
.aiei-pb .pb-sec-body ul.pb-terms{list-style:none;padding:0}
.aiei-pb .pb-sec-body li{margin:0}
.aiei-pb .pb-sec-body li + li{margin-top:5px}
.aiei-pb .pb-sec-body b,.aiei-pb .pb-sec-body strong{color:var(--ink);font-weight:700}
.aiei-pb .pb-note{font-size:13.5px;color:var(--muted);border-left:3px solid var(--line-2);padding-left:12px;line-height:1.6}
.aiei-pb .pb-tbl{overflow-x:auto}
.aiei-pb .pb-tbl table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.55;border:0;margin:0}
.aiei-pb .pb-tbl th{text-align:left;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 10px;border:0;border-bottom:1px solid var(--line-2);background:none}
.aiei-pb .pb-tbl td{padding:9px 10px;border:0;border-bottom:1px solid var(--line-soft);vertical-align:top;background:none}
.aiei-pb .pb-tbl td:first-child{font-weight:600;color:var(--ink);width:36%}
.aiei-pb .pb-ph{background:var(--med-bg);color:var(--med);border-radius:4px;padding:0 5px;font-weight:600;font-size:.92em;white-space:nowrap}
.aiei-pb .pb-ai-add{background:var(--blue-050);border-left:3px solid var(--blue-fill);padding:9px 13px;border-radius:0 8px 8px 0}
.aiei-pb .pb-sec-body[contenteditable="true"]{outline:2px solid var(--blue-fill);outline-offset:8px;border-radius:4px}
.aiei-pb .pb-sec-f{display:flex;gap:4px;margin-top:10px;margin-left:-8px;flex-wrap:wrap}
.aiei-pb .pb-lnk{display:inline-flex;align-items:center;gap:6px;background:none;border:0;padding:5px 8px;border-radius:6px;font:600 13px var(--sans);color:var(--muted)}
.aiei-pb .pb-lnk:hover{color:var(--ink);background:var(--tint)}
.aiei-pb .pb-lnk[aria-expanded="true"]{color:var(--blue)}
.aiei-pb .pb-sec-why{margin-top:8px;background:var(--tint);border-radius:10px;padding:12px 14px;font-size:13.5px;color:var(--ink-2);line-height:1.55;max-width:74ch}
.aiei-pb .pb-sec-src{margin-top:6px;font-size:12px;color:var(--muted)}
.aiei-pb .pb-lock-warn{font-size:12.5px;color:var(--clay);background:var(--clay-bg);padding:8px 11px;border-radius:8px;margin-top:10px;max-width:74ch}
.aiei-pb .pb-sec.is-adapting::after{content:'';position:absolute;inset:6px -14px;border-radius:12px;pointer-events:none;background:linear-gradient(100deg,transparent 20%,rgba(51,102,255,.12) 50%,transparent 80%);background-size:250% 100%;animation:pbShim 1.1s linear infinite}
@keyframes pbShim{from{background-position:120% 0}to{background-position:-120% 0}}
@media (prefers-reduced-motion:reduce){.aiei-pb .pb-sec.is-adapting::after,.aiei-pb .pb-sp-list li.is-new{animation:none}}

/* ---------- export form ---------- */
.aiei-pb .pb-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:8px 26px 24px}
.aiei-pb.w-sm .pb-form{grid-template-columns:1fr;padding:8px 18px 20px}
.aiei-pb .pb-fld label{display:block;font-size:12.5px;font-weight:700;color:var(--ink-2);margin-bottom:6px}
.aiei-pb .pb-fld input{width:100%;height:42px;padding:0 12px;font-size:14px;border:1px solid var(--line-2);border-radius:8px;background:var(--paper);color:var(--ink);box-shadow:none;transition:border-color .18s,box-shadow .18s}
.aiei-pb .pb-fld input:focus{outline:none;border-color:var(--blue-fill);box-shadow:0 0 0 3px rgba(51,102,255,.15)}
.aiei-pb .pb-hint{font-size:12px;color:var(--muted);margin-top:5px}
.aiei-pb .pb-ro{height:42px;display:flex;align-items:center;padding:0 12px;border-radius:8px;background:var(--tint);font-size:14px;color:var(--ink-2)}

.aiei-pb .pb-noscript{padding:14px 16px;border:1px solid var(--line);border-radius:12px;color:var(--muted)}

/* ---------- small screens: the side panel becomes a sheet ---------- */
.aiei-pb .pb-sheetbtn{display:none}
.aiei-pb:not(.w-lg) .pb-sheetbtn{display:flex;align-items:center;gap:10px;position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:9990;background:var(--blue-fill);color:#fff;border:0;border-radius:99px;padding:11px 18px;font-weight:700;font-size:13.5px;box-shadow:var(--sh-3);white-space:nowrap;max-width:calc(100vw - 32px)}
.aiei-pb:not(.w-lg) .pb-sheetbtn:hover{background:var(--hover)}
.aiei-pb .pb-badge{background:var(--high);color:#fff;border-radius:99px;font-size:11px;padding:1px 7px}
.aiei-pb:not(.w-lg) .pb-side{position:fixed;left:12px;right:12px;bottom:74px;max-height:min(70vh,620px);overflow:auto;z-index:9989;transform:translateY(calc(100% + 100px));transition:transform .42s var(--ease);border-radius:var(--radius);box-shadow:var(--sh-3);max-width:520px;margin:0 auto;background:var(--tint);border:1px solid var(--line-2);padding:10px}
.aiei-pb.is-side-open:not(.w-lg) .pb-side{transform:none}
.aiei-pb:not(.w-lg) .pb-side .pb-panel{box-shadow:none}
.aiei-pb:not(.w-lg) .pb-app{padding-bottom:70px}

/* ---------- print: the policy only ----------
   The Print button copies the document to the end of <body> and marks <html>,
   so the theme's header, footer and sidebars drop out whatever they are. */
.aiei-pb .pb-print,#aiei-pb-print-root{display:none}
@media print{
  @page{size:A4;margin:18mm 18mm 20mm}
  html.aiei-pb-printing body > *:not(#aiei-pb-print-root){display:none !important}
  html.aiei-pb-printing,html.aiei-pb-printing body{background:#fff !important;margin:0 !important;padding:0 !important}
  #aiei-pb-print-root{display:block !important;color:#0A2535;font:10.5pt/1.55 "Open Sans",Arial,sans-serif}
  #aiei-pb-print-root h1,#aiei-pb-print-root h2{font-family:"Open Sans",Arial,sans-serif !important;color:#0A2535 !important;letter-spacing:0;text-transform:none}
  #aiei-pb-print-root h1{font-size:20pt;margin:0 0 6pt;font-weight:700;line-height:1.2}
  #aiei-pb-print-root .pk{font-size:8pt;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#2450DB;margin:0}
  #aiei-pb-print-root table{width:100%;border-collapse:collapse;margin:8pt 0}
  #aiei-pb-print-root th,#aiei-pb-print-root td{border:1px solid #C6D5E2;padding:4pt 6pt;text-align:left;vertical-align:top;font-size:9.5pt}
  #aiei-pb-print-root h2{font-size:12.5pt;margin:16pt 0 4pt;break-after:avoid;font-weight:700}
  #aiei-pb-print-root p,#aiei-pb-print-root ul{margin:0 0 6pt}
  #aiei-pb-print-root ul{padding-left:16pt}
  #aiei-pb-print-root ul.pb-terms{list-style:none;padding:0}
  #aiei-pb-print-root .pb-note{color:#55708A;font-size:9pt}
  #aiei-pb-print-root .pb-ph{background:#FAF2E1}
  #aiei-pb-print-root .foot{margin-top:18pt;font-size:8pt;color:#55708A}
}
