.ip-lookup {
    box-sizing: border-box;
    width: calc(100vw - 40px);
    max-width: 680px;
    margin: 28px auto 0;
    padding: 22px;
    border: 1px solid var(--border, #d6dfe0);
    border-radius: 4px;
    background: var(--bg2, #fff);
    color: var(--text, #4a4949);
    text-align: left;
    font-size: 15px;
    line-height: 1.5;
}
.container > .ip-lookup { width: 100%; max-width: none; margin: 0 0 28px; }
.ip-lookup h2 { margin: 0 0 6px; font-size: 20px; font-family: var(--sans, inherit); }
.ip-lookup-hint { margin: 0 0 16px; color: var(--text-dim, #626d70); font-size: 13px; }
.ip-lookup label { display: block; margin-bottom: 6px; font-size: 13px; }
.ip-lookup-controls { display: flex; gap: 10px; }
.ip-lookup input {
    min-width: 0;
    flex: 1;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid var(--border, #aebfc2);
    border-radius: 3px;
    background: var(--bg, #fafcfc);
    color: var(--text-bright, #28383c);
    font: inherit;
    font-size: 14px;
}
.ip-lookup button {
    padding: 11px 18px;
    border: 1px solid var(--accent, #245e69);
    border-radius: 3px;
    background: var(--accent, #245e69);
    color: var(--bg, #fff);
    font: inherit;
    font-weight: bold;
    white-space: nowrap;
    cursor: pointer;
}
.ip-lookup input:focus-visible, .ip-lookup button:focus-visible {
    outline: 2px solid var(--accent, #245e69);
    outline-offset: 3px;
}
.ip-lookup input[aria-invalid="true"] { border-color: var(--accent3, #a13426); }
.ip-lookup button:disabled { opacity: 0.6; cursor: wait; }
.ip-lookup button[data-lookup-reset] { background: transparent; color: var(--accent, #245e69); }
.ip-lookup-status { margin: 10px 0 0; min-height: 1.5em; font-size: 13px; overflow-wrap: anywhere; }
.ip-lookup-status[data-error="true"] { color: var(--accent3, #a13426); }
.network-details{margin:16px 0 24px}#c-isptype{word-break:normal;overflow-wrap:anywhere;max-width:67%}.network-state{margin-left:auto;font-size:9px;letter-spacing:1px;color:var(--text-dim)}
.network-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 32px}.network-columns>div{min-width:0}.network-columns a{font-size:11px;color:var(--accent);overflow-wrap:anywhere}
.network-note{font-size:11px;color:var(--text-dim);line-height:1.7;margin:10px 0;overflow-wrap:anywhere}.routing-panel{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}
.routing-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:12px}.routing-heading strong{font-size:12px;color:var(--text-bright)}
.routing-heading button{font:inherit;font-size:11px;color:var(--accent);background:transparent;border:1px solid var(--border);border-radius:3px;padding:10px 14px;cursor:pointer;flex-shrink:0}.routing-heading button:disabled{opacity:.5;cursor:not-allowed}.routing-heading button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@media(max-width:700px){.network-columns{grid-template-columns:minmax(0,1fr);gap:14px}.routing-heading{align-items:stretch;flex-direction:column;gap:8px}.network-state{font-size:8px;letter-spacing:0}.routing-heading button{min-height:42px}}
@media (max-width: 540px) {
    .ip-lookup { padding: 16px; }
    .ip-lookup-controls { flex-direction: column; }
    .ip-lookup input, .ip-lookup button { width: 100%; font-size: 16px; }
}
