:root{color-scheme:dark;--bg:#0c100d;--surface:#171d18;--border:#2b352c;--text:#f3f6ee;--muted:#a2ada1;--lime:#c6f45b;font-family:Arial,Helvetica,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,iframe:focus-visible{outline:3px solid var(--lime);outline-offset:5px}[hidden]{display:none!important}.page{max-width:1440px;margin:auto;padding:30px 5vw 24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.wordmark{display:flex;align-items:center;gap:11px;text-decoration:none;font-size:14px;font-weight:800;letter-spacing:1.6px}.brand-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--lime);color:var(--bg);font-size:26px;letter-spacing:-2px;padding-right:2px}.live-badge{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:1.3px;color:#c1cbbb}.live-dot,.tiny-dot{width:6px;height:6px;background:var(--lime);border-radius:50%;display:inline-block;box-shadow:0 0 12px #c6f45250}.hello{padding:46px 0 30px}.eyebrow{font-size:11px;letter-spacing:1.8px;color:var(--muted);margin:0 0 14px}.hello h1{font-size:clamp(3.6rem,9.6vw,8.4rem);font-weight:900;letter-spacing:-.065em;line-height:1.08;margin:0;color:var(--lime)}.wave{display:inline-block;font-size:.78em;letter-spacing:0;transform-origin:72% 75%;animation:wave-in 1.2s ease-in-out .2s}.hello-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.hello-bottom p{font-size:17px;margin:0;color:#d5dcd0}.coordinate-note{font-size:11px;letter-spacing:1.2px;color:var(--muted);text-align:right}.metrics{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}.card{border:1px solid var(--border);border-radius:18px;padding:23px;background:var(--surface);min-width:0}.card h2{display:flex;align-items:center;gap:9px;margin:0 0 24px;font-size:11px;font-weight:600;letter-spacing:1.3px;color:#b5c0b1;line-height:1.5}.small-icon{font-size:18px;line-height:1;color:var(--lime);font-weight:400}.value{font-size:clamp(1.9rem,2.8vw,2.65rem);font-weight:700;letter-spacing:-1px;line-height:1.15;margin:0;overflow-wrap:anywhere}.ip-value{font-variant-numeric:tabular-nums;font-size:clamp(1.7rem,2.6vw,2.4rem)}.ip-value.ipv6{font-size:clamp(1.25rem,2vw,1.75rem)}.detail{margin:11px 0 0;font-size:13px;color:var(--muted);line-height:1.5}.loading{color:#778173;font-size:1.6rem;letter-spacing:-.5px}.local-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:14px;margin-top:14px}.local-details{display:grid;grid-template-columns:1fr;gap:14px}.time-card{background:var(--lime);border-color:var(--lime);color:#17200e}.time-card h2,.time-card .small-icon{color:#344c17}.time-card .tiny-dot{background:#344c17;margin-left:auto;box-shadow:none}.clock{font-size:clamp(2.8rem,4.5vw,4rem);font-weight:750;letter-spacing:-2px;line-height:1;font-variant-numeric:tabular-nums;margin:0;white-space:nowrap}.date{font-size:15px;margin:12px 0 0}.time-card .detail{color:#48632a;font-size:12px;margin-top:6px;overflow-wrap:anywhere}.weather-card{padding-top:19px;padding-bottom:19px}.weather-card h2{margin-bottom:12px}.weather-main{display:flex;align-items:center;justify-content:space-between;gap:15px}.temperature{font-size:3rem;letter-spacing:-2px;line-height:1.1;font-weight:700;margin:0}.weather-emoji{font-size:42px;line-height:1}.weather-description{font-size:19px;font-weight:500;margin:10px 0 0}.weather-card .detail{margin-top:5px}.map-card{padding:0;display:flex;flex-direction:column;overflow:hidden}.map-heading{padding:20px 21px;display:flex;align-items:center;justify-content:space-between;gap:12px}.map-heading h2{margin:0}.map-badge{border:1px solid #41503c;border-radius:5px;font-size:9px;letter-spacing:1px;color:#b4c2aa;padding:5px 7px}.map-canvas{position:relative;background:#222d21;flex:1;min-height:270px;isolation:isolate}.map-canvas iframe{position:absolute;inset:0;width:100%;height:100%;border:0;background:#dee5d7}.map-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background-image:linear-gradient(#53654a24 1px,transparent 1px),linear-gradient(90deg,#53654a24 1px,transparent 1px);background-size:35px 35px;padding:20px;text-align:center;color:#b7c5ac;font-size:14px}.map-cross{font-size:52px;color:var(--lime)}.map-placeholder p{margin:12px 0 0}.map-footer{padding:15px 21px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);line-height:1.5}.map-footer a{white-space:nowrap;color:var(--lime);text-decoration:none}.map-footer a:hover{text-decoration:underline}.status-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0 0;min-height:45px}.status-row p{margin:0;font-size:13px;color:var(--muted);line-height:1.5}.status-row button{background:transparent;border:1px solid #5d7146;color:var(--lime);border-radius:8px;padding:8px 13px;font:inherit;font-size:13px;cursor:pointer;white-space:nowrap}.status-row button:hover{background:#253018}footer{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--border);margin-top:16px;padding-top:16px;color:#82907e;font-size:11px;line-height:1.6}footer p{margin:0}footer a{text-underline-offset:3px}footer a:hover{color:var(--lime)}.noscript{padding:20px;border:1px solid var(--lime);border-radius:12px}
@keyframes wave-in{0%,100%{transform:rotate(0)}20%,60%{transform:rotate(15deg)}40%,80%{transform:rotate(-10deg)}}
@media(min-width:1500px){.page{padding-left:60px;padding-right:60px}}
@media(max-width:850px){.page{padding:24px}.hello{padding-top:40px}.hello h1{font-size:10vw}.metrics{grid-template-columns:1fr 1fr}.ip-card{grid-column:1/-1}.local-grid{grid-template-columns:1fr}.local-details{grid-template-columns:1fr 1fr}.clock{font-size:clamp(2.2rem,5vw,3.3rem)}.map-canvas{min-height:330px}.coordinate-note{display:none}footer{flex-direction:column;gap:6px}.value{font-size:2.2rem}}
@media(max-width:520px){.page{padding:20px 16px}.live-badge{font-size:8px;letter-spacing:.8px;gap:5px}.wordmark{font-size:11px;gap:8px;letter-spacing:1.1px}.brand-icon{height:30px;width:30px}.hello{padding:35px 0 24px}.eyebrow{font-size:8px;letter-spacing:1.2px;line-height:1.8}.hello h1{font-size:clamp(2.8rem,11vw,3.6rem);letter-spacing:-.065em}.hello-bottom p{font-size:15px}.card{padding:20px}.metrics{gap:10px}.metrics .card:not(.ip-card){padding:17px 14px}.card h2{font-size:9px;letter-spacing:1px;gap:6px;margin-bottom:20px}.value{font-size:1.75rem;letter-spacing:-.8px}.ip-value{font-size:2rem}.detail{font-size:12px}.local-grid{gap:10px;margin-top:10px}.local-details{grid-template-columns:1fr;gap:10px}.clock{font-size:3.5rem}.temperature{font-size:3.4rem}.weather-card h2{margin-bottom:12px}.weather-main{float:right;margin:0 0 0 12px}.weather-emoji{font-size:35px}.weather-description{padding-top:4px}.weather-card:after{content:"";display:block;clear:both}.map-card{padding:0}.map-heading{padding:17px 14px;gap:6px}.map-heading h2{margin:0;font-size:8px}.map-badge{font-size:8px;letter-spacing:.3px}.map-canvas{min-height:300px}.map-footer{padding:13px 14px;font-size:11px;gap:10px}.status-row{gap:10px}.status-row p{font-size:12px}footer{font-size:10px}.wave{font-size:.8em}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
