@font-face{font-family:Inter;src:url('/assets/fonts/inter/Inter-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/fonts/inter/Inter-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:JetBrainsMono;src:url('/assets/fonts/jetbrains-mono/JetBrainsMono-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
:root{--bg:#07111f;--panel:#0c1b2e;--panel2:#10243c;--text:#e8f2ff;--muted:#9fb3c8;--accent:#0ea5e9;--accent2:#38bdf8;--ok:#22c55e;--border:rgba(148,163,184,.18);--shadow:0 24px 70px rgba(0,0,0,.35)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,#123456 0,#07111f 36%,#050b14 100%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;line-height:1.55;min-height:100vh}a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}code,pre,h1,h2,h3,.brand,button,.btn{font-family:JetBrainsMono,ui-monospace,SFMono-Regular,Consolas,monospace}img{max-width:100%;height:auto}.container{width:min(1160px,100%);margin:0 auto;padding:22px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;width:min(1160px,100%);margin:0 auto;padding:18px 22px}.brand{display:flex;align-items:center;gap:10px;color:var(--text);font-weight:700}.brand img{border-radius:12px}nav{display:flex;flex-wrap:wrap;gap:8px}nav a{flex:1 1 auto;background:rgba(14,165,233,.12);border:1px solid var(--border);border-radius:999px;padding:9px 13px;color:var(--text);font-size:14px;text-align:center}.hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);gap:18px;align-items:stretch;margin:28px 0}.eyebrow{color:var(--accent2);font-family:JetBrainsMono,monospace;text-transform:uppercase;letter-spacing:.08em;font-size:13px}h1{font-size:clamp(34px,6vw,72px);line-height:1;margin:10px 0}h2{font-size:clamp(21px,3vw,32px);line-height:1.15;margin:0 0 14px}.lead{font-size:clamp(17px,2.5vw,22px);color:var(--muted);max-width:850px}.ip-card,.card,.metric,.panel{background:linear-gradient(180deg,rgba(16,36,60,.96),rgba(12,27,46,.96));border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow)}.ip-card{padding:24px;display:flex;flex-direction:column;justify-content:center}.ip-card strong{font-size:clamp(25px,4vw,44px);word-break:break-word;overflow-wrap:anywhere}.label,.muted,.small{color:var(--muted)}.grid{display:grid;gap:18px;margin:18px 0}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card,.panel{padding:22px}.table-wrap{overflow-x:auto}.kv{width:100%;border-collapse:collapse}.kv th,.kv td{border-bottom:1px solid var(--border);padding:10px;text-align:left;vertical-align:top;word-break:break-word;overflow-wrap:anywhere}.kv th{color:var(--muted);font-weight:400;width:34%}.details{display:grid;grid-template-columns:minmax(120px,.35fr) minmax(0,1fr);gap:8px 14px}.details dt{color:var(--muted)}.details dd{margin:0;word-break:break-word;overflow-wrap:anywhere}.notice{padding:14px;border:1px solid rgba(56,189,248,.4);background:rgba(14,165,233,.12);border-radius:16px}.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.btn,button{border:0;border-radius:14px;background:linear-gradient(135deg,var(--accent),#2563eb);color:white;padding:11px 15px;cursor:pointer;font-weight:700;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-secondary{background:rgba(148,163,184,.18);border:1px solid var(--border)}button.done,.btn.done{background:var(--ok)!important}.cmd{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:16px;margin:10px 0;background:rgba(2,6,23,.32)}.cmd code{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;color:#dbeafe}.link-list{padding-left:20px}.metric{padding:20px}.metric span{display:block;color:var(--muted)}.metric strong{font-size:34px}.page-head{margin:28px 0}.article{max-width:860px}.article p,.article li{font-size:18px}.result{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;background:#020617;border:1px solid var(--border);border-radius:16px;padding:14px}.site-footer{width:min(1160px,100%);margin:28px auto 0;padding:22px;color:var(--muted);border-top:1px solid var(--border)}.footer-links{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0}.not-found{text-align:center;padding:48px 20px}@media (max-width:780px){.site-header{align-items:flex-start;flex-direction:column}.hero,.grid.two,.grid.four{grid-template-columns:1fr}.container{padding:16px}.card,.panel,.ip-card{border-radius:18px;padding:16px}.cmd{grid-template-columns:1fr}.cmd button{width:100%}.actions .btn,.actions button{width:100%}.kv th,.kv td{display:block;width:100%;padding:8px 0}.kv tr{display:block;border-bottom:1px solid var(--border);padding:8px 0}.kv th,.kv td{border:0}.details{grid-template-columns:1fr}nav a{text-align:left}}


/* Admin statistics and final readability fixes */
.ip-card strong,
.hero-ip strong,
.hero-ip .big-ip,
.stat-hero strong {
  word-break: normal;
  overflow-wrap: normal;
  white-space: nowrap;
  font-size: clamp(28px, 4vw, 44px);
}

.admin-log-list {
  display: grid;
  gap: 12px;
}

.admin-log-item {
  display: grid;
  grid-template-columns: minmax(150px, .9fr) minmax(130px, .8fr) minmax(160px, 1fr) minmax(120px, .7fr) minmax(220px, 1.6fr);
  gap: 12px;
  align-items: start;
  padding: 14px;
  background: linear-gradient(180deg, rgba(16,36,60,.96), rgba(12,27,46,.96));
  border: 1px solid var(--border);
  border-radius: 18px;
}

.admin-log-label {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 3px;
}

.admin-log-item strong,
.admin-log-item code {
  display: block;
  word-break: break-word;
  overflow-wrap: anywhere;
  font-size: 14px;
}

.admin-log-ua code {
  color: #dbeafe;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .admin-log-item {
    grid-template-columns: 1fr 1fr;
  }
  .admin-log-ua {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .admin-log-item {
    grid-template-columns: 1fr;
  }
  .admin-log-ua {
    grid-column: auto;
  }
}

/* Visual polish patch: wider text pages and better long headings */
.article {
  max-width: 1040px;
  width: 100%;
}

.article.card {
  margin-left: 0;
  margin-right: auto;
}

.article h1,
.page-head h1 {
  font-size: clamp(36px, 5vw, 64px);
  letter-spacing: -0.03em;
}

.article p,
.article li {
  max-width: 900px;
}

@media (max-width: 780px) {
  .article h1,
  .page-head h1 {
    font-size: clamp(32px, 10vw, 48px);
    line-height: 1.06;
  }
}


/* Footer and guide related-materials patch */
.related-divider {
  border: 0;
  border-top: 1px solid var(--border);
  margin: 30px 0 24px;
}

.site-footer {
  width: min(1160px, 100%);
  margin: 38px auto 0;
  padding: 30px 22px 34px;
  color: var(--muted);
  border-top: 1px solid var(--border);
}

.footer-grid {
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) minmax(150px, .8fr) minmax(220px, 1fr) minmax(240px, 1fr);
  gap: 24px;
  align-items: start;
}

.footer-col h2 {
  margin: 0 0 10px;
  font-size: 16px;
  color: var(--text);
}

.footer-col p {
  margin: 8px 0;
}

.footer-col ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 8px;
}

.footer-about strong {
  display: block;
  color: var(--text);
  margin-bottom: 8px;
}

.footer-links {
  display: none;
}

@media (max-width: 980px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 620px) {
  .footer-grid {
    grid-template-columns: 1fr;
  }
  .site-footer {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* Layout alignment and footer refinement patch */
:root {
  --page-width: 1160px;
}

.site-header,
.container,
.site-footer {
  width: min(var(--page-width), 100%);
}

.article {
  max-width: 100%;
  width: 100%;
}

.article.card,
.panel,
.card {
  max-width: 100%;
}

.article p,
.article li {
  max-width: 980px;
}

.site-footer {
  padding-top: 30px;
  padding-bottom: 24px;
}

.footer-grid.footer-grid-compact {
  grid-template-columns: minmax(320px, 1.5fr) minmax(180px, .8fr) minmax(260px, 1fr);
  gap: 34px;
}

.footer-brandline {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}

.footer-brandline img {
  border-radius: 10px;
  border: 1px solid rgba(56,189,248,.45);
  box-shadow: 0 0 0 3px rgba(14,165,233,.08);
}

.footer-brandline strong {
  color: var(--text);
  margin: 0;
}

.footer-copy,
.footer-contact {
  margin-top: 10px;
}

.footer-attribution {
  margin: 24px 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--border);
  font-size: 13px;
  color: rgba(159,179,200,.82);
}

.js-email-obfuscated a {
  white-space: nowrap;
}

@media (max-width: 980px) {
  .footer-grid.footer-grid-compact {
    grid-template-columns: 1fr 1fr;
  }
  .footer-about {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .footer-grid.footer-grid-compact {
    grid-template-columns: 1fr;
  }
  .footer-about {
    grid-column: auto;
  }
}


/* Footer attribution and line alignment patch */
.footer-divider {
  width: 100%;
  height: 1px;
  background: var(--border);
  margin: 26px 0 14px;
}

.footer-attribution.footer-attribution-grid {
  margin: 0;
  padding-top: 0;
  border-top: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  font-size: 12.5px;
  line-height: 1.45;
  color: rgba(159,179,200,.78);
}

.footer-attribution-grid p {
  margin: 0;
}

.footer-attribution-grid p + p {
  border-left: 1px solid var(--border);
  padding-left: 18px;
}

.footer-contact a {
  color: var(--accent2);
}

@media (max-width: 760px) {
  .footer-attribution.footer-attribution-grid {
    grid-template-columns: 1fr;
  }
  .footer-attribution-grid p + p {
    border-left: 0;
    border-top: 1px solid var(--border);
    padding-left: 0;
    padding-top: 12px;
  }
}


/* Footer attribution final alignment patch */
.site-footer {
  border-top: 1px solid var(--border);
}

.footer-divider.footer-divider-after-menu {
  width: 100%;
  height: 1px;
  background: rgba(148, 163, 184, .22);
  margin: 28px 0 16px;
}

.footer-attribution.footer-attribution-grid {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(159, 179, 200, .76);
}

.footer-attribution-grid p {
  margin: 0;
  white-space: nowrap;
}

.footer-attribution-grid p:first-child {
  text-align: left;
  padding-right: 22px;
}

.footer-attribution-grid p + p {
  text-align: right;
  border-left: 1px solid rgba(148, 163, 184, .22);
  padding-left: 22px;
}

.footer-attribution-grid span {
  color: rgba(159, 179, 200, .7);
}

.footer-attribution-grid a {
  white-space: nowrap;
}

@media (max-width: 860px) {
  .footer-attribution.footer-attribution-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .footer-attribution-grid p,
  .footer-attribution-grid p:first-child,
  .footer-attribution-grid p + p {
    text-align: left;
    padding: 0;
    border: 0;
    white-space: normal;
  }
}


/* Final layout separators: header + line, body + line, footer + line + attribution */
.layout-divider {
  width: min(var(--page-width), 100%);
  height: 1px;
  margin-left: auto;
  margin-right: auto;
  background: rgba(148, 163, 184, .22);
}

.layout-divider-after-header {
  margin-top: 0;
  margin-bottom: 18px;
}

.layout-divider-before-footer {
  margin-top: 42px;
  margin-bottom: 0;
}

.site-footer {
  border-top: 0 !important;
  margin-top: 0 !important;
}

.footer-divider.footer-divider-after-menu {
  width: 100%;
  height: 1px;
  background: rgba(148, 163, 184, .22);
  margin: 28px 0 16px;
}

.footer-attribution.footer-attribution-grid {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 12px;
  line-height: 1.45;
  color: rgba(159, 179, 200, .76);
}

.footer-attribution-grid p {
  margin: 0;
  white-space: normal;
}

.footer-attribution-grid p:first-child {
  text-align: left;
  padding-right: 24px;
}

.footer-attribution-grid p + p {
  text-align: right;
  border-left: 1px solid rgba(148, 163, 184, .22);
  padding-left: 24px;
}

.footer-attribution-grid a {
  white-space: nowrap;
}

@media (max-width: 860px) {
  .layout-divider {
    width: calc(100% - 32px);
  }
  .footer-attribution.footer-attribution-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .footer-attribution-grid p,
  .footer-attribution-grid p:first-child,
  .footer-attribution-grid p + p {
    text-align: left;
    padding: 0;
    border: 0;
  }
}


/* Mobile heading overflow and full-width footer divider fix */
@media (max-width: 620px) {
  h1,
  .article h1,
  .page-head h1 {
    font-size: clamp(30px, 9vw, 42px);
    line-height: 1.08;
    letter-spacing: -0.055em;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }

  .article.card,
  .panel,
  .card {
    overflow: hidden;
  }
}

.footer-divider.footer-divider-after-menu {
  width: calc(100% + 44px);
  margin-left: -22px;
  margin-right: -22px;
}

@media (max-width: 620px) {
  .footer-divider.footer-divider-after-menu {
    width: calc(100% + 32px);
    margin-left: -16px;
    margin-right: -16px;
  }
}
