
.ep-page{--ink:#1F2A3A;--muted:#5b6474;--line:#e3e7ee;--bg:#ffffff;--soft:#f5f7fb;--brand:#13233F;--accent:#0f766e;
  --we:#15803d;--we-bg:#f0fdf4;--tip:#b45309;--tip-bg:#fffbeb;--hl:#6d28d9;--hl-bg:#f5f3ff;--warn:#b91c1c;
  font-family:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);
  line-height:1.65;font-size:17px;max-width:860px;margin:0 auto;padding:24px 16px 48px;box-sizing:border-box}
.ep-page *{box-sizing:border-box}
.ep-page h1{font-size:clamp(26px,5vw,36px);line-height:1.2;margin:8px 0 10px;letter-spacing:-.01em}
.ep-page h2{font-size:clamp(21px,3.6vw,26px);line-height:1.3;margin:44px 0 10px;padding-top:12px;border-top:1px solid var(--line)}
.ep-page h3{font-size:18px;margin:26px 0 6px}
.ep-page p{margin:10px 0}
.ep-page ul{padding-left:22px;margin:8px 0}
.ep-page li{margin:4px 0}
.ep-page a{color:var(--brand)}
.ep-meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--muted)}
.ep-badge{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;padding:3px 9px;border-radius:999px;background:var(--soft);color:var(--brand);border:1px solid var(--line)}
.ep-badge.ep-hl{background:var(--hl-bg);color:var(--hl);border-color:#ddd6fe}
.ep-box{border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:18px 0;background:var(--soft)}
.ep-box h3,.ep-box h4{margin:0 0 6px;font-size:16px}
.ep-checklist{list-style:none;padding-left:0}
.ep-checklist li{padding-left:26px;position:relative}
.ep-checklist li::before{content:"✓";position:absolute;left:4px;color:var(--accent);font-weight:700}
.ep-def{border-left:4px solid var(--brand);background:#eef2ff;padding:10px 14px;border-radius:0 8px 8px 0;margin:12px 0;font-weight:500}
.ep-we{border-left:5px solid var(--we);background:var(--we-bg);border-radius:0 12px 12px 0;padding:16px 18px;margin:22px 0}
.ep-we>.ep-label{color:var(--we)}
.ep-tip{border-left:5px solid var(--tip);background:var(--tip-bg);border-radius:0 12px 12px 0;padding:14px 18px;margin:18px 0}
.ep-tip>.ep-label{color:var(--tip)}
.ep-label{display:block;font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:6px}
.ep-diff{font-weight:600;font-size:12px;color:var(--muted);text-transform:none;letter-spacing:0;margin-left:6px}
.ep-ans{border-top:1px dashed #b7dfc3;margin-top:10px;padding-top:8px}
.ep-final{font-weight:700}
figure.ep-fig{margin:20px 0;text-align:center}
figure.ep-fig figcaption{font-style:italic;font-size:14px;color:var(--muted);margin-top:6px}
.ep-svg{width:100%;height:auto;max-width:560px;display:block;margin:0 auto;font-family:inherit}
.ep-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ep-trio .ep-svg{max-width:220px}
@media (max-width:560px){.ep-trio{grid-template-columns:1fr}}
.ep-grid{stroke:#eef1f6;stroke-width:1}
.ep-axis{stroke:#1f2937;stroke-width:1.4}
.ep-tick{font-size:11px;fill:#5b6474}
.ep-alabel{font-size:12px;fill:#1f2937;font-style:italic}
.ep-l1{stroke:#1d3a8a;stroke-width:2.6;fill:none}
.ep-l2{stroke:#b91c1c;stroke-width:1.8}
.ep-l3{stroke:#0f766e;stroke-width:2.2;fill:none}
.ep-area{fill:#c7d2fe;opacity:.55;stroke:none}
.ep-dot{fill:#b91c1c}
.ep-ann{font-size:11.5px;fill:#1f2937}
.ep-ann2{font-size:11.5px;fill:#b91c1c;font-weight:600}
.ep-ann3{font-size:11.5px;fill:#0f766e;font-weight:600}
.ep-cliff{fill:#e7e1d4;stroke:#a8a29e}
.ep-vec{stroke:#b91c1c;stroke-width:2.2}
.ep-vec2{stroke:#0f766e;stroke-width:1.8;stroke-dasharray:5 3}
.ep-arh{fill:#b91c1c}.ep-arh2{fill:#0f766e}
.ep-tablewrap{overflow-x:auto;margin:14px 0}
.ep-page table{border-collapse:collapse;width:100%;font-size:15px;min-width:520px}
.ep-page th,.ep-page td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.ep-page th{background:var(--soft);font-weight:700}
.ep-page details{border:1px solid var(--line);border-radius:10px;padding:10px 14px;margin:10px 0;background:#fff}
.ep-page summary{cursor:pointer;font-weight:600}
.ep-page summary::marker{color:var(--accent)}
.ep-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.ep-btn{display:inline-block;padding:10px 16px;border-radius:10px;background:var(--brand);color:#fff !important;text-decoration:none;font-weight:600;font-size:15px}
.ep-btn.ep-ghost{background:#fff;color:var(--brand) !important;border:1.5px solid var(--brand)}
.ep-toc{columns:2;column-gap:28px;font-size:15px}
@media (max-width:560px){.ep-toc{columns:1}.ep-page{font-size:16px}}
.ep-small{font-size:14px;color:var(--muted)}
.ep-res{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.ep-res a{font-size:14px;font-weight:600;text-decoration:none;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:var(--soft);color:var(--brand)}
.ep-res a:hover{border-color:var(--brand)}
.ep-sim{border:1.5px dashed var(--accent);background:#f0fdfa;border-radius:12px;padding:12px 16px;margin:16px 0}
.ep-sim>.ep-label{color:var(--accent)}
.ep-sim p{margin:0}
.ep-page{position:relative;overflow-x:hidden;overflow-x:clip}
.ep-page .katex-display{overflow-x:auto;overflow-y:hidden;padding:4px 0}
.ep-page p,.ep-page li,.ep-page td{overflow-wrap:break-word}

/* generated figures */
.ep-gen{color:#1f2937;overflow:visible}.ep-gen text{font-family:inherit}
.ep-page .ep-fig .ep-small{color:var(--muted)}
.ep-page .ep-gen text{paint-order:stroke;stroke:#fff;stroke-width:3.5px;stroke-linejoin:round}
.ep-page .ep-gen{color:#1f2937}
