.origin-finder-trigger { display: inline-block; padding: 0; margin-top: 20px; border: 0; background: none; color: var(--blue); font: inherit; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.origin-finder-trigger[hidden] { display: none; }
.origin-finder { position: fixed; inset: 0; margin: auto; width: min(560px, calc(100% - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; padding: 32px; border: 0; border-radius: 12px; color: var(--navy); background: var(--white); box-shadow: 0 20px 70px #0004; }
.origin-finder::backdrop { background: #001e35b3; }
.origin-finder h2 { font-size: 28px; line-height: 1.2; padding-right: 24px; margin-bottom: 12px; }
.origin-finder p { line-height: 1.6; }
.origin-finder-close { position: absolute; top: 8px; right: 8px; width: 40px; height: 40px; border: none; background: transparent; font-size: 28px; cursor: pointer; color: var(--navy); }
.origin-finder form { margin-top: 24px; }
.origin-finder label { display: block; margin-bottom: 8px; font-weight: 600; }
.origin-finder-input { display: flex; gap: 10px; }
.origin-finder input { min-width: 0; width: 100%; border: 1px solid var(--gray-400); border-radius: 6px; padding: 12px; font: inherit; }
.origin-finder-input .btn { flex-shrink: 0; }
.origin-finder-locate { border: 0; background: none; padding: 0; margin-top: 16px; color: var(--blue); text-decoration: underline; font: inherit; cursor: pointer; }
.origin-finder-status { margin-top: 20px; font-size: 14px; }
.origin-finder-status:empty { display: none; }
.origin-finder-result { margin-top: 20px; border-top: 3px solid var(--teal); padding-top: 18px; }
.origin-finder-result h3 { font-size: 22px; line-height: 1.3; }
.origin-finder-result p { margin-top: 8px; }
.origin-finder-result ol { padding-left: 20px; margin-top: 12px; font-size: 14px; line-height: 1.8; }
.origin-finder-note, .origin-finder-credit { margin-top: 18px; font-size: 13px; color: var(--text-light); }
.origin-finder-credit a { color: var(--blue); text-decoration: underline; }
.origin-finder :focus-visible, .origin-finder-trigger:focus-visible { outline: 3px solid var(--teal); outline-offset: 3px; }
.origin-finder button:disabled { opacity: .6; cursor: wait; }
@media (max-width: 480px) { .origin-finder { padding: 24px; } .origin-finder-input { flex-direction: column; } }

.origin-finder-timing { display: block; color: var(--navy); font-size: 14px; margin-bottom: 10px; }
