.epsa{margin:0;background:#f7f8f6;color:#193b35;font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
.epsa *{box-sizing:border-box}
.epsa .epsa-shell{max-width:1140px;margin:0 auto;padding:28px 32px 32px}
.epsa .epsa-header{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #dce4df;padding-bottom:17px;margin-bottom:24px}
.epsa .epsa-brand{font-size:12px;letter-spacing:.14em;font-weight:750}
.epsa .epsa-edition{font-size:12px;color:#597067}
.epsa h1{font-size:clamp(27px,3.5vw,38px);line-height:1.15;letter-spacing:-.035em;margin:0 0 10px;font-weight:650}
.epsa .epsa-intro{margin:0 0 28px;color:#536b63}
.epsa .epsa-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,1fr);gap:36px}
.epsa .epsa-preview-panel{background:#fff;border:1px solid #e0e6e2;border-radius:16px;padding:18px;align-self:start}
.epsa .epsa-preview-heading{display:flex;justify-content:space-between;font-size:12px;color:#62776f}
.epsa .epsa-art{aspect-ratio:1;max-width:520px;margin:auto}
.epsa .epsa-art svg{display:block;width:100%;height:auto;overflow:visible}
.epsa .epsa-key{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;font-size:11px;color:#52675f}
.epsa .epsa-key i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:3px}
.epsa .epsa-black{background:#111}.epsa .epsa-red{background:#ff0000}.epsa .epsa-green{background:#5d9c8c}
.epsa .epsa-preview-note{font-size:11px;text-align:center;color:#61746c;margin:10px 0 0}
.epsa .epsa-label{display:block;font-weight:650;font-size:13px;margin:0 0 7px}
.epsa select,.epsa input[type=text]{font:inherit;display:block;width:100%;min-height:46px;border:1px solid #bdcec6;border-radius:8px;background:#fff;color:#173b32;padding:10px 12px;margin:0 0 19px}
.epsa input[type=text]{font-size:19px;margin-bottom:19px}
.epsa .epsa-hint{font-size:12px;line-height:1.5;color:#53695f;margin:0 0 20px}
.epsa fieldset{border:0;padding:0;margin:0 0 16px;min-width:0}
.epsa legend{padding:0;font-weight:650;font-size:13px;margin-bottom:8px}
.epsa .epsa-positions{display:grid;gap:7px}
.epsa .epsa-position{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid #d7e1db;border-radius:8px;background:#fff;cursor:pointer;font-size:13px}
.epsa .epsa-position:has(input:checked){background:#e6f1eb;border-color:#648d7c}
.epsa input[type=radio]{accent-color:#1a624b;width:16px;height:16px;margin:0}
.epsa .epsa-status{font-size:13px;min-height:45px;margin:0 0 12px;color:#345e4d}
.epsa .epsa-status[data-state=error]{color:#9b391f}
.epsa .epsa-download{display:flex;justify-content:space-between;align-items:center;width:100%;border:0;border-radius:9px;padding:13px 16px;min-height:48px;background:#174e3e;color:white;font:650 15px system-ui;cursor:pointer}
.epsa .epsa-download:disabled{background:#d9e2dc;color:#597064;cursor:not-allowed}
.epsa .epsa-download-hint{margin-top:10px;margin-bottom:14px}
.epsa .epsa-review{font-size:11px;color:#746653;margin:0}
.epsa .epsa-font-compare{margin:-9px 0 18px;font-size:12px}
.epsa .epsa-font-compare summary{cursor:pointer;color:#345e4d;padding:3px 0}
.epsa .epsa-font-previews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px}
.epsa .epsa-font-choice{border:1px solid #cfddd4;border-radius:8px;background:#fff;padding:8px 10px;cursor:pointer;text-align:left;color:#193b35;min-width:0}
.epsa .epsa-font-choice[aria-pressed=true]{background:#e6f1eb;border-color:#648d7c}
.epsa .epsa-font-name{display:block;font:600 12px/1.3 system-ui}
.epsa .epsa-font-style{display:block;font:11px/1.3 system-ui;color:#53695f;margin:2px 0 7px}
.epsa .epsa-font-choice svg{display:block;width:100%;height:25px}
.epsa .epsa-font-choice:not([data-preview-state=ready]) svg{display:none}
.epsa .epsa-character-warning{color:#9b291f;font-size:12px;line-height:1.5;margin:-10px 0 18px}
.epsa .epsa-character-warning[hidden],.epsa .epsa-font-unavailable[hidden]{display:none}
.epsa .epsa-font-unavailable{display:block;color:#9b291f;font:11px/1.4 system-ui;min-height:25px}
.epsa :focus-visible{outline:3px solid #e4a83a;outline-offset:3px}
@media(max-width:700px){.epsa .epsa-shell{padding:20px 18px 26px}.epsa .epsa-header{margin-bottom:20px}.epsa .epsa-layout{grid-template-columns:1fr;gap:24px}.epsa .epsa-intro{margin-bottom:20px}.epsa .epsa-preview-panel{padding:12px}.epsa .epsa-art{max-width:350px}.epsa .epsa-controls{padding:0 2px}}
@media(prefers-reduced-motion:no-preference){.epsa .epsa-download{transition:background .15s}}
