/* Internet tools — scoped styles built on the global Scopri24 Aurora variables. */
:root { --int-good:#15803d; --int-warn:#b45309; --int-bad:#b91c1c; --int-info:var(--accent); }

.int-page { max-width:1180px; margin:0 auto; padding:24px 18px 0; color:var(--text); }
.int-page *, .int-page *::before, .int-page *::after { box-sizing:border-box; }
.int-page .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; }
.int-page a { color:var(--accent); }
.int-page a:hover { color:var(--accent-dark); }
.int-skip { position:absolute; left:-9999px; top:auto; }
.int-skip:focus { left:12px; top:12px; z-index:3000; padding:10px 14px; border-radius:var(--radius-sm); background:var(--surface); box-shadow:var(--shadow-lg); }
.int-breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:7px; margin:2px 0 18px; font-size:13px; color:var(--text3); }
.int-breadcrumb a { text-decoration:none; }
.int-breadcrumb i { font-size:10px; color:var(--text4); }

.int-hero { position:relative; overflow:hidden; padding:clamp(28px,5vw,54px); border:1px solid var(--border); border-radius:var(--radius-xl); background:linear-gradient(135deg,var(--surface),var(--accent-bg)); box-shadow:var(--shadow); }
.int-hero::after { content:""; position:absolute; width:290px; height:290px; right:-110px; top:-150px; border-radius:50%; background:radial-gradient(circle, var(--accent-bg2), transparent 67%); pointer-events:none; }
.int-eyebrow { display:inline-flex; align-items:center; gap:7px; margin:0 0 12px; padding:6px 10px; border:1px solid var(--border); border-radius:999px; background:var(--surface); color:var(--accent); font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.int-hero h1 { position:relative; margin:0; max-width:800px; color:var(--text); font-size:clamp(30px,5vw,49px); line-height:1.06; letter-spacing:-.045em; }
.int-hero p { position:relative; max-width:720px; margin:16px 0 0; color:var(--text2); font-size:clamp(16px,2vw,19px); line-height:1.65; }
.int-hero-actions { position:relative; display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.int-btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:43px; padding:10px 16px; border:1px solid transparent; border-radius:var(--radius-sm); background:var(--accent); color:#fff !important; font:inherit; font-size:14px; font-weight:800; text-decoration:none; cursor:pointer; transition:transform .15s,opacity .15s,box-shadow .15s; }
.int-btn:hover { color:#fff !important; opacity:.91; transform:translateY(-1px); box-shadow:var(--shadow-sm); text-decoration:none; }
.int-btn:focus-visible, .int-link-card:focus-visible, .int-tool-card:focus-visible, .int-category-link:focus-visible { outline:3px solid var(--accent-light); outline-offset:3px; }
.int-btn--ghost { border-color:var(--border2); background:var(--surface); color:var(--text) !important; }
.int-btn--ghost:hover { color:var(--accent) !important; background:var(--accent-bg); }
.int-btn--small { min-height:36px; padding:7px 11px; font-size:13px; }

.int-section { margin-top:42px; }
.int-section-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:16px; }
.int-section h2 { margin:0; color:var(--text); font-size:clamp(22px,3vw,30px); letter-spacing:-.025em; }
.int-section-lead { max-width:720px; margin:8px 0 0; color:var(--text2); line-height:1.65; }
.int-search { display:flex; align-items:center; gap:10px; max-width:760px; margin-top:26px; padding:9px 10px 9px 15px; border:1px solid var(--border2); border-radius:var(--radius); background:var(--surface); box-shadow:var(--shadow-xs); }
.int-search > i { color:var(--accent); }
.int-search input { min-width:0; margin:0; padding:6px 2px; border:0; background:transparent; box-shadow:none; }
.int-search input:focus { box-shadow:none; }
.int-search button { width:auto; min-height:34px; margin:0; padding:7px 10px; background:var(--accent-bg); color:var(--accent); }
.int-search-empty { display:none; margin:14px 0 0; color:var(--text2); }
.int-category-nav { display:flex; flex-wrap:wrap; gap:8px; margin:20px 0 0; }
.int-category-link { display:inline-flex; align-items:center; gap:7px; padding:8px 11px; border:1px solid var(--border); border-radius:999px; background:var(--surface); color:var(--text2) !important; font-size:13px; font-weight:700; text-decoration:none; }
.int-category-link:hover { border-color:var(--accent); color:var(--accent) !important; background:var(--accent-bg); text-decoration:none; }

.int-tool-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.int-tool-card { position:relative; display:flex; flex-direction:column; min-height:205px; padding:20px; overflow:hidden; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--surface); box-shadow:var(--shadow-xs); color:var(--text) !important; text-decoration:none; transition:border-color .18s, transform .18s, box-shadow .18s; }
.int-tool-card:hover { border-color:var(--accent); transform:translateY(-3px); box-shadow:var(--shadow); text-decoration:none; }
.int-tool-icon { display:flex; width:44px; height:44px; align-items:center; justify-content:center; border-radius:13px; background:var(--accent-bg2); color:var(--accent); font-size:19px; }
.int-tool-card h3 { margin:17px 0 7px; color:var(--text); font-size:18px; line-height:1.2; letter-spacing:-.02em; }
.int-tool-card p { margin:0; color:var(--text2); font-size:14px; line-height:1.55; }
.int-tool-arrow { margin-top:auto; padding-top:14px; color:var(--accent); font-size:13px; font-weight:800; }
.int-tool-card[hidden], .int-category-block[hidden] { display:none; }

.int-popular { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.int-link-card { display:flex; align-items:center; gap:11px; padding:14px; border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); color:var(--text) !important; font-size:14px; font-weight:750; text-decoration:none; }
.int-link-card:hover { border-color:var(--accent); background:var(--accent-bg); text-decoration:none; }
.int-link-card i { color:var(--accent); }
.int-start { display:grid; grid-template-columns:1.2fr .8fr; gap:20px; padding:22px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--surface); }
.int-start h2 { margin-top:0; }
.int-start ol { margin:16px 0 0; padding-left:20px; color:var(--text2); line-height:1.8; }
.int-notice { padding:17px; border:1px solid var(--border); border-radius:var(--radius); background:var(--bg2); color:var(--text2); font-size:14px; line-height:1.6; }
.int-notice i { color:var(--accent); }

.int-faq { display:grid; gap:10px; }
.int-faq details { border:1px solid var(--border); border-radius:var(--radius); background:var(--surface); }
.int-faq summary { padding:15px 17px; color:var(--text); font-weight:800; cursor:pointer; }
.int-faq p { margin:0; padding:0 17px 16px; color:var(--text2); line-height:1.65; }

.int-tool-hero { padding:28px; border:1px solid var(--border); border-radius:var(--radius-xl); background:linear-gradient(135deg,var(--surface),var(--accent-bg)); }
.int-tool-hero h1 { margin:0; color:var(--text); font-size:clamp(27px,4vw,38px); letter-spacing:-.035em; }
.int-tool-hero > p { max-width:780px; margin:11px 0 0; color:var(--text2); line-height:1.65; }
.int-form { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; max-width:820px; margin-top:22px; }
.int-form label { display:block; color:var(--text); font-size:13px; font-weight:800; }
.int-form input { margin:7px 0 0; }
.int-form .int-field--selector { max-width:230px; }
.int-form--with-selector { grid-template-columns:minmax(0,1fr) minmax(160px,.32fr) auto; }
.int-form .int-btn { width:auto; margin:0 0 5px; }
.int-form-hint { margin:11px 0 0; color:var(--text3); font-size:12px; line-height:1.55; }
.int-error { margin-top:20px; padding:14px 16px; border:1px solid rgba(185,28,28,.35); border-radius:var(--radius); background:rgba(185,28,28,.08); color:var(--text); }
.int-error i { color:var(--int-bad); }
.int-rate { margin-top:13px; color:var(--text3); font-size:12px; }

.int-report { margin-top:24px; }
.int-report-head { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px; padding:18px 20px; border:1px solid var(--border); border-bottom:0; border-radius:var(--radius-lg) var(--radius-lg) 0 0; background:var(--surface); }
.int-report-head h2 { margin:0; color:var(--text); font-size:22px; }
.int-report-meta { color:var(--text3); font-size:13px; }
.int-summary-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; overflow:hidden; border:1px solid var(--border); background:var(--border); }
.int-summary-item { min-height:105px; padding:17px; background:var(--surface); }
.int-summary-item span { display:block; margin-bottom:6px; color:var(--text3); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.int-summary-item strong { display:block; color:var(--text); font-size:16px; line-height:1.3; }
.int-status { display:inline-flex; align-items:center; gap:6px; font-size:13px; font-weight:800; }
.int-status--ok { color:var(--int-good); }.int-status--warn { color:var(--int-warn); }.int-status--bad { color:var(--int-bad); }.int-status--neutral { color:var(--text2); }
.int-report-section { padding:22px; border:1px solid var(--border); border-top:0; background:var(--surface); }
.int-report-section h3 { display:flex; align-items:center; gap:9px; margin:0 0 14px; color:var(--text); font-size:19px; }
.int-report-section h3 i { color:var(--accent); }
.int-report-section > p { color:var(--text2); line-height:1.6; }
.int-data-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.int-data { padding:12px 13px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg2); }
.int-data dt { color:var(--text3); font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.int-data dd { margin:5px 0 0; overflow-wrap:anywhere; color:var(--text); font-size:14px; line-height:1.45; }
.int-data dd small { color:var(--text3); }
.int-records { display:grid; gap:10px; }
.int-record { padding:14px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg2); }
.int-record h4 { margin:0 0 7px; color:var(--text); font-size:14px; }
.int-record pre { overflow:auto; margin:0; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--text2); font:12px/1.55 var(--font-mono); }
.int-list { margin:0; padding-left:20px; color:var(--text2); line-height:1.7; }
.int-list li + li { margin-top:4px; }
.int-issue-list { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.int-issue-list li { padding:11px 13px; border-left:3px solid var(--accent); border-radius:0 var(--radius-sm) var(--radius-sm) 0; background:var(--bg2); color:var(--text2); line-height:1.5; }
.int-issue-list li.int-issue--warning { border-left-color:var(--int-warn); }.int-issue-list li.int-issue--bad { border-left-color:var(--int-bad); }.int-issue-list li.int-issue--ok { border-left-color:var(--int-good); }
.int-related { display:flex; flex-wrap:wrap; gap:9px; margin-top:22px; }

.int-connection { max-width:850px; margin:0 auto; }
.int-connection-card { margin-top:22px; padding:22px; border:1px solid var(--border); border-radius:var(--radius-lg); background:var(--surface); }
.int-connection-intro { color:var(--text2); line-height:1.65; }
.int-speed-start { width:auto; margin:13px 0 0; }
.int-meter { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:20px; }
.int-meter-item { padding:14px; border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg2); }
.int-meter-item span { display:block; color:var(--text3); font-size:11px; font-weight:800; text-transform:uppercase; }
.int-meter-item strong { display:block; margin-top:6px; color:var(--text); font-size:18px; }
.int-progress { height:8px; overflow:hidden; margin-top:18px; border-radius:99px; background:var(--bg3); }
.int-progress > span { display:block; width:0; height:100%; border-radius:inherit; background:var(--accent); transition:width .25s; }
.int-connection-status { min-height:22px; margin:11px 0 0; color:var(--text2); font-size:14px; }
.int-ping-result { margin-top:18px; }
.int-ip-main { margin:12px 0; color:var(--accent); font:700 clamp(24px,5vw,42px)/1.1 var(--font-mono); letter-spacing:-.05em; overflow-wrap:anywhere; }

@media (max-width:900px) { .int-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.int-popular{grid-template-columns:repeat(2,minmax(0,1fr));}.int-start{grid-template-columns:1fr;}.int-meter{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px) { .int-page{padding:16px 12px 0;}.int-hero,.int-tool-hero{padding:22px 18px;}.int-section{margin-top:32px;}.int-tool-grid,.int-popular,.int-summary-grid,.int-data-grid{grid-template-columns:1fr;}.int-form,.int-form--with-selector{grid-template-columns:1fr;}.int-form .int-field--selector{max-width:none;}.int-form .int-btn{width:100%;margin:0;}.int-report-section{padding:17px;}.int-report-head{padding:15px;}.int-category-nav{gap:6px;}.int-category-link{font-size:12px;padding:7px 9px;}.int-tool-card{min-height:0;}.int-meter{grid-template-columns:1fr 1fr;}.int-hero-actions .int-btn{width:100%;} }

@media (prefers-reduced-motion:reduce) { .int-page *, .int-page *::before, .int-page *::after { scroll-behavior:auto !important; transition:none !important; } }
