:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#162642;background:#f9fbff;font-synthesis:none;line-height:1.55;--navy:#19344f;--line:#dce5f0;--muted:#516078}
*{box-sizing:border-box}body{margin:0}a{color:var(--navy);text-underline-offset:4px}
.top{max-width:1120px;margin:auto;padding:26px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:18px}.brand{font-family:Georgia,serif;font-size:2rem;letter-spacing:.08em;text-decoration:none;font-weight:700}
main{max-width:900px;margin:38px auto;padding:0 32px}h1{font-family:Georgia,serif;font-size:clamp(1.9rem,4vw,2.8rem);margin:0 0 12px;line-height:1.2}h2{font-size:1.25rem;margin:0 0 8px}h3{font-size:1.1rem;line-height:1.45;margin:10px 0 8px;overflow-wrap:anywhere}.intro{color:var(--muted);margin:0 0 24px;font-size:1.05rem}
.workspace,.candidate{background:white;border:1px solid var(--line);border-radius:14px;padding:26px;margin-bottom:24px;box-shadow:0 8px 30px #19344f05}label{display:block;font-weight:600;margin-bottom:8px}textarea{display:block;font:inherit;resize:vertical;width:100%;min-height:108px;max-height:420px;padding:13px 14px;border:1px solid #aebfd1;border-radius:8px;color:inherit;background:#fbfcff}textarea::placeholder{color:#627189;opacity:1}
button,.map-link{font:inherit;font-weight:600;border-radius:7px;padding:12px 18px;background:var(--navy);color:white;border:1px solid var(--navy);cursor:pointer;min-height:46px;display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}button:hover:not(:disabled){background:#285375}button:disabled{opacity:.6;cursor:wait}.map-link{background:white;color:var(--navy);border-color:#adbed0}.map-link:hover{background:#edf3fa}
textarea:focus-visible,button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #527ca7;outline-offset:3px}.hint{color:var(--muted);font-size:.9375rem;margin:10px 0 18px}.privacy{margin-bottom:0;max-width:700px}.status,.error{padding:14px 16px;border-left:3px solid #356b94;background:#edf4fa;margin:20px 0 0}.error{background:#fff2ef;border-color:#a73925;color:#802b1d}
.candidate{margin:16px 0;padding:22px}.detail{color:var(--muted);margin:0 0 18px;overflow-wrap:anywhere}.accuracy{display:inline-block;font-size:.875rem;font-weight:600;color:#245f54;background:#ebf5f1;padding:4px 10px;border-radius:6px}.accuracy.approximate{color:#775018;background:#fff4dc}.accuracy-note{color:#775018;margin:10px 0;font-size:.9375rem}.coordinates-label{font-size:.9375rem;color:var(--muted);margin-top:18px}.coordinates{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(1rem,3vw,1.45rem);font-weight:600;display:block;width:100%;min-width:0;color:var(--navy);background:#f1f6fb;border:1px solid var(--line);border-radius:7px;padding:13px 12px;letter-spacing:0;margin-bottom:14px}.actions{display:flex;gap:10px;flex-wrap:wrap}.copy-feedback{font-size:.9375rem;color:#245f54;margin:10px 0 0}
.address-points{border-top:1px solid var(--line);margin-top:20px;padding-top:16px;font-size:.9375rem}.address-points summary{cursor:pointer;color:var(--navy);font-weight:600}.address-points ul{padding-left:20px;overflow-wrap:anywhere}.address-points li{margin:10px 0}.address-points summary:focus-visible{outline:3px solid #527ca7;outline-offset:3px}footer{border-top:1px solid var(--line);padding-top:18px;margin-top:32px;color:var(--muted);font-size:.875rem}footer p{margin:5px 0}[hidden]{display:none!important}
@media(max-width:600px){.top{padding:18px 20px}.brand{font-size:1.6rem}main{margin:26px auto;padding:0 18px}.workspace,.candidate{padding:20px 16px}#search,.actions>*{width:100%}.top>a:last-child{font-size:.9375rem}}
@media(prefers-reduced-motion:no-preference){button,.map-link{transition:background .15s ease}}
