:root {
    --bg: #030507;
    --bg-elevated: #0a0f16;
    --border: rgba(125, 211, 252, .28);
    --border-dim: rgba(125, 211, 252, .14);
    --text: #a9c3d4;
    --text-dim: #5b7182;
    --text-heading: #d6f3ff;
    --accent: #38bdf8;
    --accent-2: #7dd3fc;
    --accent-glow: rgba(56, 189, 248, .35);
    --accent-purple: #a78bfa;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    background:
        radial-gradient(70vw 50vh at 15% -10%, rgba(56,189,248,.16) 0%, transparent 60%),
        radial-gradient(55vw 45vh at 105% 15%, rgba(167,139,250,.12) 0%, transparent 55%),
        repeating-linear-gradient(0deg, rgba(125,211,252,.035) 0px, rgba(125,211,252,.035) 1px, transparent 1px, transparent 42px),
        repeating-linear-gradient(90deg, rgba(125,211,252,.035) 0px, rgba(125,211,252,.035) 1px, transparent 1px, transparent 42px),
        var(--bg);
    color: var(--text);
    font-family: "Roboto", -apple-system, sans-serif;
    min-height: 100vh;
}

h1, h2, .ip-value {
    font-family: "Space Grotesk", "Roboto", sans-serif;
    color: var(--text-heading);
    text-shadow: 0 0 20px rgba(125, 211, 252, .3);
}

a { color: var(--accent-2); text-decoration: none; transition: color .15s ease; }
a:hover { color: var(--accent); }

.eyebrow {
    font-family: "Space Grotesk", monospace;
    letter-spacing: .28em; text-transform: uppercase; font-size: .8rem;
    color: var(--accent-2); text-shadow: 0 0 10px var(--accent-glow);
}

.ip-card, .info-card {
    position: relative;
    background: linear-gradient(160deg, rgba(56,189,248,.06) 0%, transparent 40%), var(--bg-elevated);
    border: 1px solid var(--border-dim);
    border-radius: 4px;
    box-shadow: 0 10px 30px -18px rgba(0,0,0,.7), 0 0 0 1px rgba(125,211,252,.04) inset;
}

.ip-card { padding: 40px 24px; text-align: center; }
.ip-label { color: var(--text-dim); font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.ip-value { font-size: clamp(28px, 7vw, 48px); font-weight: 600; letter-spacing: -0.02em; word-break: break-all; }

.btn-copy {
    font-family: "Space Grotesk", "Roboto", sans-serif;
    border: 1px solid rgba(125,211,252,.4); background: transparent; color: var(--accent-2);
    border-radius: 2px; padding: 8px 20px; font-weight: 600; font-size: 13px;
    letter-spacing: .06em; text-transform: uppercase;
    box-shadow: 0 0 14px rgba(56, 189, 248, .18) inset;
    transition: box-shadow .2s ease, border-color .2s ease;
}
.btn-copy:hover { border-color: var(--accent-2); box-shadow: 0 0 20px rgba(56, 189, 248, .3) inset; }

.info-card { padding: 24px; }
.info-card h2 {
    font-size: 18px; margin: 0 0 16px; text-shadow: none;
    display: flex; align-items: center; gap: 8px;
}

.info-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
.info-grid > div { display: flex; flex-direction: column; gap: 2px; }
.info-grid .k {
    font-family: "Space Grotesk", monospace;
    font-size: 11px; color: var(--accent-2); text-transform: uppercase; letter-spacing: .06em; opacity: .8;
}
.info-grid .v { font-size: 15px; font-weight: 600; color: var(--text-heading); word-break: break-word; }

.hint { font-size: 13px; color: var(--text-dim); }
.code-block {
    background: rgba(0,0,0,.35);
    border: 1px solid var(--border-dim);
    color: var(--accent-2);
    font-family: "Space Grotesk", monospace;
    border-radius: 2px; padding: 12px 16px;
    font-size: 14px; margin: 10px 0 0; overflow-x: auto;
}

code {
    color: var(--accent-2);
    background: rgba(56,189,248,.08);
    padding: 1px 5px;
    border-radius: 2px;
}

@media (max-width: 576px) {
    .info-grid { grid-template-columns: 1fr; }
    .ip-card { padding: 30px 18px; }
}
