:root{--esa-cobalt: #123f8c;--esa-cobalt-dark: #0c2c63;--esa-ochre: #d99a1c;--esa-ochre-soft: #fdf3dc;--esa-glaze: #f3f6fc;--esa-line: #d6dfee;--esa-text: #16213a;--esa-muted: #55617a;--esa-white: #ffffff;--esa-radius: 14px;--esa-shadow: 0 12px 30px rgba(18, 63, 140, 0.10);--primary: #123f8c;--primary-dark: #0c2c63;--border: #d6dfee;--surface: #ffffff;--shadow-soft: 0 10px 28px rgba(18, 63, 140, 0.10);--surface-muted: #f3f6fc;--text-main: #16213a;--text-muted: #55617a;}
.esa-tool{background: var(--esa-white);border: 1px solid var(--esa-line);border-top: 5px solid var(--esa-cobalt);border-radius: var(--esa-radius);box-shadow: var(--esa-shadow);padding: 18px 22px 24px;margin: 8px 0 44px;}
.esa-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 4px 12px;font-size: 13px;color: var(--esa-muted);padding-bottom: 12px;margin-bottom: 16px;border-bottom: 1px solid var(--esa-line);}
.esa-byline .author-link{color: var(--esa-cobalt);font-weight: 700;}
.esa-form{display: grid;grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 0.9fr);gap: 14px 16px;align-items: end;}
.esa-field label,.esa-group legend,.esa-finder label{display: block;float: none;width: auto;padding: 0;margin-bottom: 6px;font-size: 12px;font-weight: 800;letter-spacing: .06em;text-transform: uppercase;color: var(--esa-muted);}
.esa-group{border: 0;padding: 0;margin: 0;min-width: 0;}
.esa-field select,.esa-bar select,.esa-finder input{width: 100%;height: 42px;padding: 0 12px;border: 1px solid var(--esa-line);border-radius: 9px;background: var(--esa-white);color: var(--esa-text);font-size: 15px;}
.esa-field select:focus-visible,.esa-bar select:focus-visible,.esa-finder input:focus-visible{outline: 3px solid var(--esa-ochre);outline-offset: 1px;}
.esa-seg{display: grid;background: var(--esa-glaze);border-radius: 9px;padding: 3px;height: 42px;}
.esa-seg-two{grid-template-columns: repeat(2, 1fr);}
.esa-seg-four{grid-template-columns: repeat(4, 1fr);}
.esa-seg input{position: absolute;opacity: 0;pointer-events: none;}
.esa-seg span{display: flex;align-items: center;justify-content: center;height: 100%;padding: 0 4px;border-radius: 7px;font-size: 13.5px;font-weight: 700;line-height: 1.1;text-align: center;color: var(--esa-text);cursor: pointer;}
.esa-seg input:checked + span{background: var(--esa-cobalt);color: var(--esa-white);}
.esa-seg input:focus-visible + span{outline: 3px solid var(--esa-ochre);outline-offset: 1px;}
.esa-check{grid-column: 1 / 3;display: inline-flex;align-items: center;gap: 8px;font-size: 15px;color: var(--esa-text);cursor: pointer;min-height: 46px;}
.esa-check input{width: 18px;height: 18px;accent-color: var(--esa-cobalt);}
.esa-go{grid-column: 3 / 5;display: inline-flex;align-items: center;justify-content: center;gap: 9px;height: 46px;border: 0;border-radius: 9px;background: var(--esa-cobalt);color: var(--esa-white);font-size: 16px;font-weight: 800;cursor: pointer;transition: background .15s;}
.esa-go:hover{background: var(--esa-cobalt-dark);}
.esa-go:focus-visible{outline: 3px solid var(--esa-ochre);outline-offset: 2px;}
.esa-go:disabled{opacity: .7;cursor: wait;}
.esa-bar{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 10px 16px;margin-top: 22px;padding-top: 18px;border-top: 1px solid var(--esa-line);}
.esa-bar h2{margin: 0;font-size: 20px;font-weight: 800;color: var(--esa-text);}
.esa-bar-actions{display: flex;gap: 8px;flex: 0 1 340px;}
.esa-bar select{flex: 1;min-width: 0;height: 40px;}
.esa-copy-all{display: inline-flex;align-items: center;gap: 7px;height: 40px;padding: 0 14px;border: 1px solid var(--esa-cobalt);border-radius: 9px;background: var(--esa-white);color: var(--esa-cobalt);font-size: 14px;font-weight: 700;white-space: nowrap;cursor: pointer;}
.esa-copy-all:hover{background: var(--esa-glaze);}
.esa-copy-all.is-done{background: var(--esa-cobalt);color: var(--esa-white);}
.esa-status{margin: 8px 0 16px;font-size: 14px;color: var(--esa-muted);}
.esa-status.is-error{color: #a3241a;font-weight: 700;}
.esa-results{list-style: none;margin: 0;padding: 0;display: grid;grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));gap: 16px;}
.esa-card{display: flex;flex-direction: column;gap: 12px;min-width: 0;padding: 12px;background: var(--esa-glaze);border-radius: 12px;animation: esaIn .25s ease both;}
@keyframes esaIn{from{opacity: 0;transform: translateY(6px);}to{opacity: 1;transform: none;}}
.esa-plaque{position: relative;display: flex;align-items: center;justify-content: space-between;gap: 10px;min-height: 66px;padding: 10px 14px;background: var(--esa-white);border: 2px solid var(--esa-cobalt);outline: 1px solid var(--esa-cobalt);outline-offset: 2px;border-radius: 5px;color: var(--esa-cobalt);box-shadow: 0 3px 0 rgba(12, 44, 99, 0.25);}
.esa-plaque-name{font-family: Georgia, 'Times New Roman', serif;font-size: 18px;font-weight: 700;line-height: 1.2;overflow-wrap: anywhere;}
.esa-plaque-num{flex: none;min-width: 40px;padding: 4px 8px;border-radius: 4px;background: var(--esa-cobalt);color: var(--esa-white);font-family: Georgia, 'Times New Roman', serif;font-size: 17px;font-weight: 700;text-align: center;}
.esa-addr{margin: 0;padding: 0 4px;font-style: normal;font-size: 15.5px;line-height: 1.5;color: var(--esa-text);overflow-wrap: anywhere;}
.esa-code{display: grid;grid-template-columns: repeat(2, 1fr);gap: 6px;margin: 0;padding: 0 4px;}
.esa-code div{display: flex;flex-direction: column;padding: 6px 10px;background: var(--esa-white);border: 1px solid var(--esa-line);border-radius: 7px;}
.esa-code dt{font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;font-size: 17px;font-weight: 800;color: var(--esa-cobalt);}
.esa-code dd{margin: 0;font-size: 12.5px;color: var(--esa-muted);}
.esa-short{margin: 0;padding: 0 4px;font-size: 13.5px;color: var(--esa-muted);overflow-wrap: anywhere;}
.esa-card-actions{display: flex;flex-wrap: wrap;gap: 6px;margin-top: auto;padding: 0 4px 2px;}
.esa-mini{display: inline-flex;align-items: center;gap: 6px;padding: 6px 10px;border: 1px solid var(--esa-line);border-radius: 7px;background: var(--esa-white);color: var(--esa-cobalt);font-size: 13px;font-weight: 700;text-decoration: none;cursor: pointer;}
.esa-mini:hover{border-color: var(--esa-cobalt);color: var(--esa-cobalt);}
.esa-mini.is-done{background: var(--esa-cobalt);border-color: var(--esa-cobalt);color: var(--esa-white);}
.esa-read{margin: 0 auto 40px;color: var(--esa-text);font-size: 16.5px;line-height: 1.7;}
.esa-read h2{margin: 0 0 12px;font-size: 25px;font-weight: 800;color: var(--esa-text);}
.esa-read code{padding: 1px 5px;background: var(--esa-glaze);border-radius: 4px;font-size: .92em;color: var(--esa-cobalt-dark);}
.esa-read p{margin: 0 0 14px;}
.esa-breaks{display: grid;grid-template-columns: repeat(6, minmax(0, 1fr));gap: 12px;}
.esa-breaks article{grid-column: span 2;padding: 14px 16px;background: var(--esa-white);border: 1px solid var(--esa-line);border-top: 3px solid var(--esa-ochre);border-radius: 10px;}
.esa-breaks article:nth-child(n+4){grid-column: span 3;}
.esa-breaks h3{margin: 0 0 6px;font-size: 17px;font-weight: 800;}
.esa-breaks p{margin: 0;font-size: 15px;line-height: 1.55;}
.esa-pre{margin: 0 0 14px;padding: 14px 16px;background: var(--esa-cobalt-dark);border-radius: 10px;overflow-x: auto;}
.esa-pre code{padding: 0;background: none;color: #eef3ff;font-size: 15px;line-height: 1.6;}
.esa-table-wrap{overflow-x: auto;margin: 0 0 14px;border: 1px solid var(--esa-line);border-radius: 10px;}
.esa-table{width: 100%;min-width: 520px;border-collapse: collapse;background: var(--esa-white);font-size: 15px;}
.esa-table caption{caption-side: top;padding: 10px 14px;font-size: 13.5px;font-weight: 700;color: var(--esa-muted);}
.esa-table th,.esa-table td{padding: 9px 14px;border-top: 1px solid var(--esa-line);text-align: left;vertical-align: top;}
.esa-table thead th{background: var(--esa-glaze);font-size: 13px;}
.esa-table tbody th{font-weight: 700;white-space: nowrap;}
.esa-finder{max-width: 380px;margin: 16px 0 12px;}
.esa-find-note{min-height: 22px;margin: 6px 0 0;font-size: 14.5px;font-weight: 700;color: var(--esa-cobalt);}
.esa-prefixes{list-style: none;margin: 0 0 18px;padding: 0;columns: 4 170px;column-gap: 18px;font-size: 15px;}
.esa-prefixes li{break-inside: avoid;padding: 3px 0;}
.esa-prefixes li[hidden]{display: none;}
.esa-note{padding: 18px 20px;background: var(--esa-ochre-soft);border-left: 5px solid var(--esa-ochre);border-radius: 10px;}
.esa-note code{background: var(--esa-white);}
.esa-note p:last-child{margin-bottom: 0;}
.esa-limits{margin: 0 0 14px;padding-left: 20px;}
.esa-limits li{margin-bottom: 8px;}
.esa-source{font-size: 14.5px;color: var(--esa-muted);}
.esa-source a{color: var(--esa-cobalt);}
.esa-closing{display: grid;grid-template-columns: minmax(0, 1fr);gap: 1.25rem;align-items: start;margin-top: 1rem;}
.esa-closing > section{margin: 0;min-width: 0;}
@media (min-width: 992px){.esa-closing{grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);}}
@media (max-width: 991.98px){.esa-form{grid-template-columns: repeat(2, minmax(0, 1fr));}.esa-check{grid-column: 1 / 2;}.esa-go{grid-column: 2 / 3;}}
@media (max-width: 767.98px){.esa-breaks{grid-template-columns: minmax(0, 1fr);}.esa-breaks article,.esa-breaks article:nth-child(n+4){grid-column: auto;}}
@media (max-width: 575.98px){.esa-tool{padding: 14px 14px 18px;}.esa-form{grid-template-columns: minmax(0, 1fr);}.esa-check,.esa-go{grid-column: auto;}.esa-bar-actions{flex: 1 1 100%;}.esa-read{font-size: 16px;}.esa-read h2{font-size: 22px;}}
@media (prefers-reduced-motion: reduce){.esa-card{animation: none;}.esa-go{transition: none;}}
