* { box-sizing: border-box; }
:root { color-scheme: dark; font-family: "Inter", "Segoe UI", sans-serif; background: #101715; color: #e9f3ed; }
body { margin: 0; min-height: 100vh; background: radial-gradient(ellipse at 60% 0, #18342b, transparent 38rem); }
.wrap { width: min(100% - 2rem, 58rem); margin: auto; }
.top { border-bottom: 1px solid #385044; background: #111b17; }
.top-inner, .location { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; flex-wrap: wrap; }
.top-inner { min-height: 4.5rem; }
.brand { display: inline-flex; align-items: center; gap: .75rem; font-weight: 700; }
.mark { width: 1.5rem; height: 1.5rem; border: .35rem solid #9be7bd; border-radius: 50% 50% 50% .18rem; transform: rotate(-45deg); }
main { padding: clamp(2rem, 7vw, 5rem) 0; }
h1 { margin: 0 0 .7rem; font-size: clamp(2rem, 6vw, 3.25rem); letter-spacing: -.045em; }
p { color: #b2c8bb; line-height: 1.5; }
.heading { margin-bottom: 1.6rem; }
.heading p { margin: 0; min-height: 1.5em; }
.card { border: 1px solid #405d50; border-radius: 1.2rem; background: #18251f; padding: clamp(1.2rem, 4vw, 2rem); box-shadow: 0 1.25rem 3.5rem #070e0a50; }
.label, dt { margin: 0 0 .5rem; color: #b2c8bb; font-size: .9rem; }
.coordinates { color: #b2f4ce; margin: 0; font-size: clamp(1.2rem, 5vw, 2.25rem); font-weight: 650; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin: 1.8rem 0 0; padding-top: 1.5rem; border-top: 1px solid #405d50; }
dd { margin: 0; line-height: 1.45; }
.login { max-width: 28rem; margin: auto; }
.login p { margin: 0 0 1.4rem; }
.login h1 { font-size: 2.2rem; }
label, input { display: block; }
label { margin-bottom: .55rem; }
input { width: 100%; background: #0e1914; color: inherit; border: 1px solid #668474; border-radius: .55rem; padding: .8rem; font: inherit; margin-bottom: 1rem; }
button, .button { display: inline-block; cursor: pointer; background: #a4ecc3; color: #102219; border: 1px solid transparent; border-radius: .55rem; padding: .68rem 1rem; font: inherit; font-weight: 700; text-decoration: none; }
.secondary { background: transparent; border-color: #668474; color: inherit; }
.login button { width: 100%; }
[hidden] { display: none; }
.error { color: #ffc1b2; }
@media (min-width: 45rem) { .stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
