:root{color-scheme:dark;--bg:#071713;--background:#081a16;--panel:#11251f;--panel-top:#132a23;--line:#31574b;--line-soft:#24463b;--jade:#5be3ac;--jade-bright:#75f8c2;--jade-muted:#97c5b1;--text:#edf5ef;--muted:#95b6a8;--dim:#567a6e;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace}
*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);background:radial-gradient(ellipse 85% 42% at 50% -10%,#15372c 0%,transparent 80%),linear-gradient(180deg,#081a16 0%,#071410 100%);font-family:var(--mono);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--jade);outline-offset:4px}.page-shell{min-height:100vh;display:flex;flex-direction:column;isolation:isolate}.masthead{border-bottom:1px solid var(--line);position:relative}.masthead:after{content:"";position:absolute;height:6px;left:0;right:0;bottom:-3px;opacity:.45;background:repeating-linear-gradient(90deg,transparent 0,transparent 46px,var(--line) 46px,var(--line) 48px)}.topbar{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:29px 28px 10px;gap:20px}.brand{display:inline-flex;align-items:center;gap:7px;color:var(--jade);text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.2em}.brand-sign{font-size:19px;letter-spacing:0;transform:translateY(-1px)}.brand-tld{color:#a4dbc3}.language-switch{display:flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.08em}.lang{padding:7px 4px;border:none;background:transparent;color:#779c8d;cursor:pointer}.lang:hover,.lang.active{color:var(--jade-bright)}.lang.active{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--jade)}.lang-sep{color:#3e6b58}.hero{text-align:center;padding:47px 20px 56px}.eyebrow{display:flex;align-items:center;justify-content:center;gap:15px;color:var(--jade);letter-spacing:.22em;font-weight:700;font-size:12px}.accent-line{display:block;width:28px;height:1px;background:var(--line)}.main-address{display:flex;align-items:center;justify-content:center;gap:13px;margin-top:15px}.hero-ip{font-size:clamp(34px,5.6vw,61px);font-weight:700;line-height:1.25;letter-spacing:.005em;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.hero-ip.long{font-size:clamp(21px,3.7vw,43px);max-width:min(80vw,950px)}.version-tag{color:var(--jade-bright);border:1px solid var(--jade);padding:4px 8px;font-size:12px;font-weight:700;letter-spacing:.1em}.copy-button{display:inline-flex;align-items:center;justify-content:center;padding:6px;border:1px solid transparent;color:var(--jade-muted);background:transparent;cursor:pointer;transition:color .15s,border-color .15s}.copy-button:hover:not(:disabled){color:var(--jade-bright);border-color:var(--line)}.copy-button:disabled{opacity:.3;cursor:default}.copy-button svg,.refresh-button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.hero-detail{display:flex;justify-content:center;align-items:center;gap:9px;margin-top:21px;color:var(--muted);font-size:12px;letter-spacing:.065em}.signal-dot,.mini-dot,.foot-dot{display:inline-block;flex:none;width:6px;height:6px;background:var(--jade);box-shadow:0 0 10px rgba(91,227,172,.33);border-radius:100%}.signal-dot.error,.mini-dot.no{background:#c59e7f;box-shadow:none}.mini-dot.neutral{background:#79978a;box-shadow:none}.content{flex:1;position:relative;padding:44px 24px 50px;background-image:radial-gradient(rgba(91,227,172,.19) .8px,transparent .8px),linear-gradient(180deg,rgba(17,44,34,.12),transparent 290px);background-size:36px 36px,100% 100%;background-position:0 0;display:flex;flex-direction:column;align-items:center}.panel{width:min(100%,670px);border:1px solid var(--line);background:linear-gradient(140deg,rgba(19,43,35,.99),rgba(15,36,29,.99));box-shadow:0 15px 65px rgba(0,0,0,.16),inset 0 0 0 1px rgba(91,227,172,.03)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:58px;padding:13px 27px;background:rgba(33,66,51,.28);border-bottom:1px solid var(--line)}.panel-header h1{margin:0;font-size:18px;letter-spacing:.095em;color:var(--jade-bright);font-weight:700}.slashes{letter-spacing:-.1em;margin-right:10px}.panel-decoration{font-size:11px;letter-spacing:.08em;color:var(--dim)}.panel-body{padding:29px 35px 34px}.properties{margin:0;display:grid;grid-template-columns:1fr;gap:24px}.property{min-width:0}.property dt{font-size:11px;color:var(--jade-muted);font-weight:700;letter-spacing:.16em;margin-bottom:8px}.property dd{margin:0;color:var(--text);font-size:17px;line-height:1.45;overflow-wrap:anywhere}.property dd.jade-value{color:var(--jade-bright)}.status-inline{display:inline-flex;gap:10px;align-items:center}.mini-dot{width:7px;height:7px}.panel-footer{border-top:1px solid var(--line-soft);padding:18px 25px;display:flex;align-items:center;justify-content:space-between;gap:14px}.metadata{color:var(--dim);display:flex;align-items:center;gap:10px;font-size:10px;font-weight:700;letter-spacing:.08em}.foot-dot{width:5px;height:5px}.refresh-button{display:flex;align-items:center;gap:9px;border:0;background:transparent;cursor:pointer;font-size:11px;color:var(--jade);letter-spacing:.12em;font-weight:700;padding:8px}.refresh-button svg{width:18px;height:18px;stroke-width:1.8;flex-shrink:0}.refresh-button:hover{color:var(--jade-bright)}.refresh-button:disabled{opacity:.5;cursor:default}.below-note{max-width:680px;text-align:center;color:var(--dim);font-size:11px;line-height:1.6;margin:19px 0 0}.site-footer{width:100%;min-height:65px;display:flex;align-items:center;justify-content:center;gap:12px;color:#608a76;font-size:10px;letter-spacing:.16em;padding:20px 24px}.footer-separator{color:#416657}.footer-trailer{margin-left:24px;opacity:.65}@media(max-width:620px){.topbar{padding:20px 18px 6px}.brand{font-size:11px;letter-spacing:.095em}.hero{padding:42px 15px 46px}.eyebrow{letter-spacing:.12em;font-size:10px;gap:9px}.accent-line{width:11px}.main-address{gap:6px;flex-wrap:wrap}.hero-ip{font-size:clamp(27px,7vw,43px)}.hero-ip.long{font-size:clamp(17px,4.4vw,25px)}.version-tag{font-size:10px;padding:3px 5px}.content{padding:27px 15px 45px}.panel-header{padding:13px 19px}.panel-header h1{font-size:15px}.panel-body{padding:24px 21px 28px}.property dd{font-size:15px}.panel-footer{padding:13px 15px}.metadata{font-size:9px}.site-footer{flex-wrap:wrap;gap:7px;font-size:9px}.footer-trailer{margin-left:0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}
/* Compact, single-card version. The hero intentionally contains only the IP. */
.hero{padding:58px 20px 59px}
.main-address{margin-top:0}
.panel-footer{justify-content:flex-end}
@media(max-width:620px){.hero{padding:46px 15px 48px}}

/* Confirmation is icon-only: the text remains screen-reader-only. */
.copy-button{position:relative}
.copy-button .check-glyph{display:none}
.copy-button.is-copied{color:var(--jade-bright)}
.copy-button.is-copied .copy-glyph{display:none}
.copy-button.is-copied .check-glyph{display:block;animation:copy-check-in .22s ease-out both}
.copy-button.is-error{color:#dfb397}
@keyframes copy-check-in{from{opacity:.3;transform:scale(.72)}to{opacity:1;transform:scale(1)}}
.site-footer{margin-top:auto}
.footer-tld{color:#9ac9b5}
@media(max-width:620px){.site-footer{gap:9px;letter-spacing:.07em;padding:20px 10px}.footer-trailer{margin-left:8px}}

/* Every refresh has one complete top-to-bottom scan, regardless of API speed. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.panel{position:relative;overflow:hidden;transition:border-color .22s ease,box-shadow .22s ease}
.panel.is-loading{border-color:rgba(117,248,194,.66);box-shadow:0 15px 65px rgba(0,0,0,.16),0 0 0 1px rgba(117,248,194,.09),0 0 27px rgba(91,227,172,.055)}
.panel.is-scanning::after{content:"";position:absolute;pointer-events:none;z-index:2;left:0;right:0;top:-18%;height:18%;background:linear-gradient(180deg,transparent,rgba(117,248,194,.07) 75%,rgba(117,248,194,.22) 100%);animation:jade-scan 1.25s cubic-bezier(.42,0,.58,1) 1 both}
.refresh-button:disabled svg{animation:jade-spin 1.25s linear infinite}
.panel.is-revealed .properties{animation:jade-reveal .36s ease-out both}

@keyframes jade-scan{from{top:-18%}to{top:100%}}
@keyframes jade-spin{to{transform:rotate(360deg)}}
@keyframes jade-reveal{from{opacity:.66;filter:brightness(1.26)}to{opacity:1;filter:brightness(1)}}
@media(max-width:360px){.topbar{padding-inline:13px}.brand{letter-spacing:.055em;font-size:10px}.language-switch{gap:4px}.hero{padding-inline:9px}.hero-ip{font-size:clamp(23px,7vw,30px)}.main-address{gap:5px}.content{padding-inline:10px}.panel-body{padding-inline:17px}.site-footer{font-size:8px;letter-spacing:.035em}.footer-trailer{margin-left:0}}
@media(prefers-reduced-motion:reduce){.panel.is-scanning::after{animation:none;display:none}.refresh-button:disabled svg,.panel.is-revealed .properties,.copy-button.is-copied .check-glyph{animation:none}}

/* Geometry fixes only. The original palette, type and spacing above are unchanged. */
body{overflow-y:scroll}
.masthead::after{bottom:-3.5px}
.main-address{display:grid;grid-template-columns:calc(15ch + .075em + 1px) max-content 30px;font-size:clamp(34px,5.6vw,61px);font-weight:700}
.ip-slot{position:relative;min-width:0;height:1.25em;display:flex;align-items:center}
.panel.is-pending .property dd::after{content:"";position:absolute;left:0;top:50%;width:min(var(--placeholder-width,18ch),100%);height:1px;background:var(--line);transform:translateY(-50%);pointer-events:none}
.panel.is-pending .property dd{position:relative}
.property dd[id="field-asn"]{--placeholder-width:8ch}
.property dd[id="field-timezone"]{--placeholder-width:14ch}
.property dd[id="field-location"]{--placeholder-width:20ch}
.property dd[id="field-connection"]{--placeholder-width:13ch}
.property dd[id="field-latency"]{--placeholder-width:6ch}
.panel.is-pending .data-value{visibility:hidden}
.hero-ip{width:100%;min-width:0;direction:ltr;unicode-bidi:isolate}
.hero-ip.long{max-width:100%}
.version-tag{width:calc(4ch + 18px + .4em);text-align:center}
.version-number{display:inline-block;width:1ch;text-align:left}
.copy-button{width:30px;height:30px;padding:6px;font-size:1rem;font-weight:400}
.copy-button:disabled{opacity:1}
.refresh-glyph{transform-box:fill-box;transform-origin:center}
.refresh-button:disabled svg{animation:none}
.refresh-button:disabled .refresh-glyph{animation:jade-spin 1.25s linear infinite}
@media(max-width:620px){.main-address{font-size:clamp(27px,7vw,43px)}.version-tag{width:calc(4ch + 12px + .4em)}}
@media(max-width:360px){.main-address{font-size:clamp(23px,7vw,30px)}}
