*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }

/*! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border-width:0;white-space:nowrap}.visible{visibility:visible}.static{position:static}.absolute{position:absolute}.relative{position:relative}.m-0{margin:0}.block{display:block}.table{display:table}.grid{display:grid}.hidden{display:none}.flex-1{flex:1 1 0%}.bg-soft{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity,1))}.px-5{padding-left:1.25rem;padding-right:1.25rem}.text-\[11px\]{font-size:11px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.leading-none{line-height:1}.tracking-wider{letter-spacing:.05em}.text-mute{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--bg:#0b1020;--bg2:#0f172a;--card:#fff;--ink:#0f172a;--mute:#475569;--brand:#4f46e5;--brand2:#06b6d4;--accent:#f59e0b;--ok:#10b981;--err:#ef4444;--ring:#e2e8f0;--soft:#f8fafc;--link:#4338ca;--link-hover:#3730a3;--shadow:0 1px 3px rgba(15,23,42,.07),0 8px 24px -8px rgba(15,23,42,.12)}@media (prefers-color-scheme:dark){:root{--card:#0f172a;--ink:#e2e8f0;--mute:#94a3b8;--ring:#1e293b;--soft:#0b1224;--link:#a5b4fc;--link-hover:#c7d2fe;--shadow:0 1px 3px rgba(0,0,0,.4),0 12px 28px -8px rgba(0,0,0,.5)}}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--soft);color:var(--ink);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg,video{height:auto;max-width:100%}a{color:var(--link);text-decoration:none}a:hover{color:var(--link-hover);text-decoration:underline}.card-pad li a,.card-pad p a,.faq-a a,.lede a,.section li a,.section p a{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--link) 45%,transparent);text-decoration-thickness:1px;text-underline-offset:2px}.card-pad li a:hover,.card-pad p a:hover,.faq-a a:hover,.lede a:hover,.section li a:hover,.section p a:hover{text-decoration-color:currentColor}[x-cloak]{display:none!important}.container{margin:0 auto;max-width:1180px;padding:0 16px;width:100%}header.header-bar,header.site{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(180deg,rgba(11,16,32,.97),rgba(11,16,32,.92));border-bottom:1px solid hsla(0,0%,100%,.06);color:#fff;position:sticky;top:0;z-index:50}header.header-bar .header-row,header.site .row{align-items:center;display:flex;flex-wrap:nowrap;gap:16px;padding:12px clamp(16px,4vw,24px)}header.header-bar a,header.site a{color:#fff}.brand,.brand-link{align-items:center;display:flex;flex-shrink:0;font-size:18px;font-weight:800;gap:8px;letter-spacing:-.01em}.brand .dot,.brand-dot{background:linear-gradient(135deg,var(--brand),var(--brand2));border-radius:3px;box-shadow:0 0 18px rgba(79,70,229,.6);display:inline-block;height:10px;width:10px}.search,.search-wrap{flex:1;max-width:520px;min-width:0;position:relative}.search input,.search-input{background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.12);border-radius:10px;color:#fff;font-size:14px;height:40px;outline:none;padding:0 14px 0 38px;width:100%}.search input::-moz-placeholder,.search-input::-moz-placeholder{color:hsla(0,0%,100%,.5)}.search input::placeholder,.search-input::placeholder{color:hsla(0,0%,100%,.5)}.search input:focus,.search-input:focus{background:hsla(0,0%,100%,.12);border-color:var(--brand2)}.search-icon,.search>svg{left:12px;opacity:.6;pointer-events:none;position:absolute;top:11px}.search .results,.search-results{background:var(--card);border-radius:10px;box-shadow:var(--shadow);color:var(--ink);display:none;left:0;margin-top:6px;max-height:60vh;overflow:auto;position:absolute;right:0;top:100%;z-index:60}.search .results.open,.search-results.open{display:block}.search .results a,.search-results .search-row{align-items:center;border-bottom:1px solid var(--ring);color:var(--ink);display:flex;gap:10px;justify-content:space-between;padding:10px 14px}.search .results a:last-child,.search-results .search-row:last-child{border:0}.search .results a.active,.search .results a:hover,.search-results .search-row.bg-soft,.search-results .search-row:hover{background:var(--soft);text-decoration:none}.search .results .badge{color:var(--mute);font-size:12px}.burger{align-items:center;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);cursor:pointer;display:none;flex-shrink:0;height:40px;justify-content:center;padding:0;position:relative;width:42px}.burger:hover{background:hsla(0,0%,100%,.12)}.burger .ic-bars,.burger .ic-close{inset:0;margin:auto;position:absolute;transition:opacity .18s ease,transform .18s ease}.burger .ic-close{opacity:0;transform:rotate(-90deg)}.burger.is-open .ic-bars{opacity:0;transform:rotate(90deg)}.burger.is-open .ic-close{opacity:1;transform:rotate(0)}.nav-primary,nav.primary{align-items:center;color:hsla(0,0%,100%,.85);display:flex;font-size:14px;gap:18px}.nav-primary>.nav-link,nav.primary>a{border-bottom:2px solid transparent;color:hsla(0,0%,100%,.85);padding:6px 0;white-space:nowrap}.nav-primary>.nav-link:hover,nav.primary>a:hover{border-color:var(--brand2);color:#fff;text-decoration:none}.lang-dd{position:relative}.lang-toggle{align-items:center;background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font:600 13px/1 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;gap:6px;padding:6px 10px}.lang-toggle:hover{background:hsla(0,0%,100%,.12)}.lang-menu{background:var(--card);border:1px solid var(--ring);border-radius:12px;box-shadow:var(--shadow);color:var(--ink);max-height:70vh;min-width:220px;overflow:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);z-index:70}.lang-item{align-items:center;border-radius:8px;color:var(--ink)!important;display:flex!important;font-size:14px;gap:10px;padding:8px 10px}.lang-item:hover{background:var(--soft);text-decoration:none}.lang-item.active{background:rgba(79,70,229,.08);color:var(--brand)!important;font-weight:600}main{min-height:60vh;padding:24px 0 48px}footer.footer,footer.site{background:var(--bg);color:#cbd5e1;margin-top:48px;padding:32px 0}footer.footer .cols,footer.site .cols{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}footer.footer h4,footer.site h4{color:#fff;font-size:14px;letter-spacing:.04em;margin:0 0 10px;text-transform:uppercase}footer.footer a,footer.site a{color:#cbd5e1;display:block;font-size:14px;padding:3px 0}footer.footer .legal,footer.site .legal{border-top:1px solid hsla(0,0%,100%,.08);color:#94a3b8;display:flex;flex-wrap:wrap;font-size:13px;gap:8px;justify-content:space-between;margin-top:24px;padding-top:16px}.skip{left:-9999px;position:absolute}.skip:focus{background:#fff;left:8px;padding:8px;top:8px;z-index:100}@media (max-width:860px){.container{padding:0 14px}header.header-bar .header-row,header.site .row{flex-wrap:wrap;gap:10px;padding:10px 20px}.brand,.brand-link{font-size:16px;order:1}.burger{display:inline-flex;margin-left:auto;order:2}.search,.search-wrap{flex-basis:100%;margin-top:8px;max-width:none;order:3}.nav-primary,nav.primary{align-items:stretch;background:hsla(0,0%,100%,.03);border:1px solid hsla(0,0%,100%,.06);border-radius:12px;flex-basis:100%;flex-direction:column;gap:0;margin-top:8px;max-height:0;order:4;overflow:hidden;padding:0;transition:max-height .25s ease,padding .25s ease,margin .25s ease}.nav-primary.open,nav.primary.open{max-height:80vh;padding:8px}.nav-primary>.nav-link,nav.primary>a{border-bottom:1px solid hsla(0,0%,100%,.06);border-radius:6px;font-size:15px;padding:12px}.nav-primary>.nav-link:last-of-type,nav.primary>a:last-of-type{border-bottom:0}.nav-primary>.nav-link:hover,nav.primary>a:hover{background:hsla(0,0%,100%,.05);border-bottom-color:hsla(0,0%,100%,.06)}.lang-dd{border-top:1px solid hsla(0,0%,100%,.08);margin-top:6px;padding-top:8px}.lang-toggle{font-size:15px;justify-content:space-between;padding:12px 14px;width:100%}.lang-menu{background:hsla(0,0%,100%,.04);border:1px solid hsla(0,0%,100%,.08);box-shadow:none;color:#fff;margin-top:8px;max-height:50vh;position:static}.lang-item{color:#cbd5e1!important}.lang-item:hover{background:hsla(0,0%,100%,.06)}.lang-item.active{background:rgba(79,70,229,.25);color:#fff!important}main{padding:16px 0 32px}footer.footer,footer.site{padding:24px 0}footer.footer .cols,footer.site .cols{gap:20px}footer.footer .legal,footer.site .legal{align-items:flex-start;flex-direction:column;gap:6px}}[dir=rtl] .search-icon,[dir=rtl] .search>svg{left:auto;right:12px}[dir=rtl] .search input,[dir=rtl] .search-input{padding:0 38px 0 14px}[dir=rtl] .lang-menu{left:0;right:auto}@media (max-width:860px){[dir=rtl] .burger{margin-left:0;margin-right:auto}}.section{margin:32px 0}.muted{color:var(--mute)}.small{font-size:13px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.eyebrow{font-size:12px;font-weight:600;letter-spacing:.08em;margin:0 0 12px;text-transform:uppercase}.crumbs,.eyebrow{color:var(--mute)}.crumbs{font-size:13px;margin:8px 0 18px}.crumbs a{color:var(--mute)}.crumbs a:hover{color:var(--brand)}.lede{color:var(--mute);font-size:18px;margin:8px 0 18px;max-width:680px}h1{font-size:clamp(28px,4.2vw,42px);letter-spacing:-.02em;line-height:1.1;margin:0 0 12px}h2{font-size:clamp(22px,2.6vw,28px);letter-spacing:-.01em;margin:28px 0 14px}h3{font-size:18px;margin:0 0 8px}h4{font-size:15px;margin:0 0 4px}code,kbd{background:var(--soft);border:1px solid var(--ring);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;padding:1px 6px}@media (prefers-color-scheme:dark){code,kbd{background:#1e293b}}.card-pad{background:var(--card);border:1px solid var(--ring);border-radius:16px;box-shadow:var(--shadow);min-width:0;padding:24px;transition:box-shadow .25s ease,border-color .2s ease}.card-pad:hover{box-shadow:0 2px 4px rgba(15,23,42,.06),0 12px 32px -10px rgba(15,23,42,.18)}.card-pad>:first-child{margin-top:0}.card-pad>:last-child{margin-bottom:0}.card-pad h2,.card-pad h3{margin-top:0}@media(max-width:640px){.card-pad{border-radius:14px;padding:18px}}.faq-list{display:flex;flex-direction:column;gap:10px;margin:8px 0 0}.faq-item{background:var(--card);border:1px solid var(--ring);border-radius:12px;overflow:hidden;transition:border-color .2s ease,box-shadow .25s ease}.faq-item:hover{border-color:color-mix(in srgb,var(--link) 35%,var(--ring))}.faq-item[open]{border-color:color-mix(in srgb,var(--link) 55%,var(--ring));box-shadow:0 1px 3px rgba(15,23,42,.05),0 8px 20px -10px rgba(67,56,202,.18)}.faq-item>summary{align-items:center;color:var(--ink);cursor:pointer;display:flex;font-size:15.5px;font-weight:600;gap:14px;justify-content:space-between;line-height:1.45;list-style:none;padding:16px 18px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.faq-item>summary::-webkit-details-marker{display:none}.faq-item>summary:after{background:var(--soft);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='4,6 8,10 12,6'/></svg>");background-position:50%;background-repeat:no-repeat;border-radius:50%;content:"";flex:0 0 auto;height:22px;transition:transform .2s ease,background-color .2s ease;width:22px}.faq-item[open]>summary:after{background-color:color-mix(in srgb,var(--link) 18%,var(--soft));transform:rotate(180deg)}.faq-item>summary:hover{color:var(--link-hover)}.faq-item>summary:focus-visible{outline:2px solid var(--link);outline-offset:-2px}.faq-a{color:var(--mute);font-size:14.5px;line-height:1.65;padding:0 18px 16px}.faq-a>:first-child{margin-top:0}.faq-a>:last-child{margin-bottom:0}@media(max-width:640px){.faq-item>summary{font-size:14.5px;padding:14px}.faq-a{padding:0 14px 14px}}.two-col{display:grid;gap:20px;grid-template-columns:1.4fr 1fr}.two-col>*{min-width:0}@media(max-width:1100px){.two-col{grid-template-columns:1fr}}.row-between{gap:16px;justify-content:space-between;margin-bottom:8px}.row,.row-between{align-items:center;display:flex;flex-wrap:wrap}.btn,.row{gap:8px}.btn{align-items:center;background:var(--card);border:1px solid var(--ring);border-radius:10px;color:var(--ink);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;justify-content:center;padding:10px 16px;transition:transform .05s,box-shadow .2s,background .15s,border-color .15s}.btn,.btn:hover{text-decoration:none}.btn:hover{border-color:var(--brand);box-shadow:0 2px 8px rgba(15,23,42,.1)}.btn:active{transform:translateY(1px)}.btn.primary{background:linear-gradient(180deg,var(--brand),#3730a3);border-color:transparent;color:#fff}.btn.primary:hover{filter:brightness(1.08)}.btn.ghost{background:transparent;color:var(--ink)}.btn:disabled{cursor:wait;opacity:.6}.hero{background:linear-gradient(180deg,#0b1020,#13193b);border-bottom:1px solid hsla(0,0%,100%,.06);color:#fff;padding:48px 0 56px}.hero .eyebrow{color:#94a3b8}.hero h1{color:#fff}.hero h1 .hi{background:linear-gradient(90deg,#22d3ee,#a78bfa);-webkit-background-clip:text;background-clip:text;color:transparent}.hero .lede{color:#cbd5e1;max-width:540px}.hero-grid{align-items:start;display:grid;gap:32px;grid-template-columns:1.4fr 1fr}@media(max-width:1100px){.hero-grid{grid-template-columns:1fr}}.hero-search{align-items:stretch;background:#fff;border-radius:12px;box-shadow:0 12px 40px -8px rgba(0,0,0,.35);display:flex;margin-top:8px;max-width:520px;overflow:hidden}.hero-search .prefix{align-items:center;background:#f1f5f9;color:#475569;display:flex;font-size:14px}.hero-search .prefix,.hero-search input{font-family:ui-monospace,monospace;padding:0 12px}.hero-search input{background:#fff;border:0;color:#0f172a;flex:1;font-size:17px;min-width:0;outline:0}.hero-search button{background:var(--brand);border:0;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:0 18px;white-space:nowrap}.hero-search button:hover{background:#4338ca}.hint{color:#94a3b8;margin:10px 0 18px}.hint,.trust{font-size:13px}.trust{color:#cbd5e1;display:flex;flex-wrap:wrap;gap:18px}.hero-card{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:14px;color:#fff;padding:20px}.hero-card h3{color:#94a3b8;font-size:14px;letter-spacing:.06em;margin:0 0 12px;text-transform:uppercase}.kv{margin:0}.kv>div{border-bottom:1px solid hsla(0,0%,100%,.08);display:flex;justify-content:space-between;padding:8px 0}.kv>div:last-child{border:0}.kv dt{color:#94a3b8;font-size:13px}.kv dd{color:#e2e8f0;font-family:ui-monospace,monospace;font-size:14px;margin:0}.hero-card .btn{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.15);color:#fff;display:block;margin-top:14px;text-align:center}.hero-card .btn:hover{background:hsla(0,0%,100%,.18)}.ip-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin-top:14px}.ip-grid.small{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.ip-tile{background:var(--card);border:1px solid var(--ring);border-radius:10px;color:var(--ink);display:flex;flex-direction:column;padding:14px;transition:transform .08s,box-shadow .2s,border-color .15s}.ip-tile:hover{border-color:var(--brand);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-1px)}.ip-tile .ip{font-family:ui-monospace,monospace;font-size:16px;font-weight:700}.ip-tile .meta{color:var(--mute);font-size:12px;margin-top:4px}.ip-tile.sm{font-family:ui-monospace,monospace;font-size:13px;padding:10px;text-align:center}.brand-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-top:10px}.brand-grid.big{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}.brand-pill{align-items:center;background:var(--card);border:1px solid var(--ring);border-radius:10px;color:var(--ink);display:flex;font-size:14px;font-weight:500;justify-content:space-between;padding:10px 14px;transition:.15s}.brand-pill:hover{border-color:var(--brand);text-decoration:none}.brand-pill .badge{background:var(--soft);border-radius:8px;color:var(--mute);font-size:11px;padding:2px 6px}.more{display:inline-block;font-weight:600;margin-top:14px}.guide-grid,.tools-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-top:14px}.guide-card,.tool-card{background:var(--card);border:1px solid var(--ring);border-radius:14px;box-shadow:var(--shadow);color:var(--ink);display:block;padding:20px;transition:.15s}.guide-card:hover,.tool-card:hover{border-color:var(--brand);text-decoration:none;transform:translateY(-2px)}.tool-icon{border-radius:10px;font-size:22px;height:42px;margin-bottom:12px;width:42px}.guide-card h3,.tool-card h3{margin:0 0 6px}.guide-card p,.tool-card p{color:var(--mute);font-size:14px;margin:0}.ip-hero{align-items:start;background:var(--card);border:1px solid var(--ring);border-radius:14px;box-shadow:var(--shadow);display:grid;gap:24px;grid-template-columns:1.4fr 1fr;margin-top:8px;padding:28px}@media(max-width:1100px){.ip-hero{grid-template-columns:1fr}}.ip-hero h1{font-family:ui-monospace,monospace;letter-spacing:-.01em}.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.ok-note{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2);border-radius:10px;color:var(--ok);margin-top:12px}.err-note,.ok-note{font-size:14px;padding:10px 14px}.err-note{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.2);border-radius:10px;color:var(--err)}.warn-note{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25);border-radius:10px;color:#92400e;font-size:14px;margin:10px 0;padding:10px 14px}@media(prefers-color-scheme:dark){.warn-note{color:#fbbf24}}.ip-card{background:var(--soft);border:1px solid var(--ring);border-radius:12px;padding:18px}.ip-card h3{color:var(--mute);font-size:14px;letter-spacing:.05em;margin:0 0 10px;text-transform:uppercase}.stat-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.stat-row span{align-items:center;background:var(--soft);border:1px solid var(--ring);border-radius:999px;color:var(--mute);display:inline-flex;font-size:13px;gap:6px;padding:6px 10px}.stat-row strong{color:var(--ink)}.mini-list{display:grid;gap:8px;margin-top:10px}.mini-list>div{align-items:center;background:var(--card);border:1px solid var(--ring);border-radius:10px;display:flex;font-size:13px;gap:10px;justify-content:space-between;padding:8px 10px}.mini-list span{color:var(--mute);text-align:right}.model-chip-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.model-chip{align-items:center;background:var(--soft);border:1px solid var(--ring);border-radius:10px;color:var(--ink);display:flex;font-size:13px;font-weight:600;gap:8px;justify-content:space-between;padding:9px 11px;text-decoration:none}.model-chip:hover{border-color:var(--brand);text-decoration:none}.model-chip span{color:var(--mute);font-size:12px;font-weight:500}.model-chip.inert{font-weight:500;justify-content:flex-start}.filter{background:var(--card);border:1px solid var(--ring);border-radius:10px;color:var(--ink);font-size:14px;height:42px;outline:none;padding:0 12px;width:100%}.filter:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(79,70,229,.12)}.mobile-context{display:none}.context-chip-row{display:flex;flex-wrap:wrap;gap:8px}.context-chip-row a{align-items:center;background:var(--soft);border:1px solid var(--ring);border-radius:999px;color:var(--ink);display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:7px 10px;text-decoration:none}.context-chip-row a:hover{border-color:var(--brand);text-decoration:none}.context-chip-row span{color:var(--mute);font-weight:500}@media(max-width:1024px){.mobile-context{display:block;margin:14px 0 24px}.mobile-context h2{font-size:16px;margin:0 0 10px}}table.creds,table.data,table.kv-table{border-collapse:collapse;font-size:14px;width:100%}table.creds th,table.data th,table.kv-table th{border-bottom:1px solid var(--ring);color:var(--mute);font-size:12px;font-weight:600;letter-spacing:.04em;padding:8px 10px;text-align:left;text-transform:uppercase}table.creds td,table.data td,table.kv-table td{border-bottom:1px solid var(--ring);padding:9px 10px;vertical-align:top}table.kv-table th{width:36%}table.creds tr:last-child td,table.data tr:last-child td,table.kv-table tr:last-child td{border:0}table.creds td a,table.data td a,table.kv-table td a{color:var(--brand);font-weight:600;text-decoration:none}table.creds td a:hover,table.data td a:hover,table.kv-table td a:hover{text-decoration:underline}.table-wrap{background:var(--card);border:1px solid var(--ring);border-radius:12px;box-shadow:var(--shadow);max-width:100%;overflow-x:auto;padding:6px 12px}.table-wrap table{min-width:0}.copy{background:transparent;border:0;color:var(--mute);cursor:pointer;font-size:14px;padding:2px 4px}.copy:hover{color:var(--brand)}@media(max-width:680px){.table-wrap{background:transparent;border:0;box-shadow:none;overflow:visible;padding:0}table.data.responsive,table.data.responsive tbody,table.data.responsive td,table.data.responsive tr{display:block;width:100%}table.data.responsive thead{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0 0 0 0);white-space:nowrap}table.data.responsive tr{background:var(--card);border:1px solid var(--ring);border-radius:12px;box-shadow:var(--shadow);margin:0 0 10px;padding:10px 12px}table.data.responsive td{align-items:flex-start;border:0;display:flex;gap:14px;justify-content:space-between;padding:7px 0;text-align:right;word-break:break-word}table.data.responsive td:before{color:var(--mute);content:attr(data-label);flex:0 0 38%;font-size:11px;font-weight:700;letter-spacing:.05em;text-align:left;text-transform:uppercase}table.data.responsive td[data-label=""]:before{display:none}table.data.responsive td[data-label=""]{justify-content:flex-start;text-align:left}table.kv-table,table.kv-table tbody,table.kv-table td,table.kv-table th,table.kv-table tr{display:block;width:100%}table.kv-table tr{border-bottom:1px solid var(--ring);padding:8px 0}table.kv-table td,table.kv-table th{border:0;padding:2px 0}table.kv-table th{font-size:11px}.model-chip-grid{grid-template-columns:1fr}}.steps{counter-reset:step;list-style:none;margin:0;padding:0}.steps li{border-bottom:1px solid var(--ring);counter-increment:step;padding:14px 0 14px 50px;position:relative}.steps li:last-child{border:0}.steps li:before{align-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));border-radius:50%;color:#fff;content:counter(step);display:flex;font-size:14px;font-weight:700;height:32px;justify-content:center;left:0;position:absolute;top:14px;width:32px}.steps.big li{padding:18px 0 18px 60px}.steps.big li:before{font-size:16px;height:40px;width:40px}.acc{border-top:1px solid var(--ring);margin-top:14px;padding-top:10px}.acc summary{cursor:pointer;font-weight:600;padding:6px 0}.acc[open] summary{color:var(--brand)}.checks{list-style:none;padding-left:0}.checks li{padding:6px 0 6px 26px;position:relative}.checks li:before{color:var(--ok);content:"✓";font-weight:700;left:0;position:absolute;top:6px}.defs dt{font-weight:700;margin-top:10px}.defs dd{color:var(--mute);margin:2px 0 0}.links{list-style:none;margin:0;padding:0}.links li{border-bottom:1px dashed var(--ring);padding:6px 0}.links li:last-child{border:0}.test-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:14px}.test-card{align-items:flex-start;background:var(--card);border:1px solid var(--ring);border-radius:12px;display:flex;gap:12px;padding:14px}.test-card.ok{background:rgba(16,185,129,.05);border-color:rgba(16,185,129,.5)}.test-card.err{background:rgba(239,68,68,.04);border-color:rgba(239,68,68,.4)}.test-card.wait{background:rgba(99,102,241,.04);border-color:rgba(99,102,241,.4)}.t-status{align-items:center;background:var(--soft);border-radius:50%;display:flex;flex-shrink:0;font-weight:700;height:32px;justify-content:center;width:32px}.test-card.ok .t-status{background:var(--ok);color:#fff}.test-card.err .t-status{background:var(--err);color:#fff}.test-card.wait .t-status{background:var(--brand);color:#fff}.t-time{color:var(--mute);font-family:ui-monospace,monospace;font-size:12px;margin:4px 0 0}.spin{animation:spin .8s linear infinite;border:2px solid;border-radius:50%;border-top:2px solid transparent;display:inline-block;height:14px;width:14px}@keyframes spin{to{transform:rotate(1turn)}}.conclusion{background:var(--soft);border-radius:10px;font-size:15px;margin-top:18px;padding:14px 18px}.conclusion.ok{background:rgba(16,185,129,.1);color:var(--ok)}.conclusion.err{background:rgba(239,68,68,.08);color:var(--err)}.ip-form label{color:var(--mute);display:block;font-size:13px;font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.filter,.ip-form input,.ip-form select{background:var(--card);border:1px solid var(--ring);border-radius:10px;color:var(--ink);font-family:ui-monospace,monospace;font-size:15px;height:44px;padding:0 14px;width:100%}.filter:focus,.ip-form input:focus,.ip-form select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(79,70,229,.15);outline:none}.ip-form .row>input,.ip-form .row>select{flex:1;min-width:200px}.ip-form .row>button{height:44px}.opts{display:flex;flex-wrap:wrap;font-size:14px;gap:14px;margin-top:12px}.opts label{align-items:center;display:flex;gap:6px}.grid-form{align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.grid-form label{color:var(--mute);display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:6px}.grid-form label input,.grid-form label select{background:var(--card);border:1px solid var(--ring);border-radius:8px;color:var(--ink);font-size:14px;height:40px;padding:0 12px}.grid-form .check{align-items:center;color:var(--ink);flex-direction:row;font-weight:500}.found-ips{background:var(--soft);border-radius:10px;margin-top:16px;padding:14px}.found-ips ul{padding-left:18px}.big-ip{color:var(--brand);font-family:ui-monospace,monospace;font-size:32px;font-weight:700;margin:8px 0}.badge-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}.badge-list li{background:var(--soft);border:1px solid var(--ring);border-radius:8px;font-family:ui-monospace,monospace;padding:8px 14px}.ping-bars{align-items:flex-end;background:var(--soft);border-radius:10px;display:flex;gap:6px;height:90px;margin-top:14px;padding:8px}.ping-bars .bar{background:var(--brand);border-radius:4px 4px 0 0;flex:1;min-height:8px;transition:height .2s}.ping-bars .bar.err{background:var(--err)}.ping-bars .bar.ok{background:var(--ok)}.port-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));margin-top:14px}.port-card{background:var(--soft);border-radius:10px;padding:12px}.port-card.ok{background:rgba(16,185,129,.1)}.port-num{font-family:ui-monospace,monospace;font-size:16px;font-weight:700}.port-svc{color:var(--mute);font-size:12px;margin:2px 0}.port-stat{font-size:12px;font-weight:600;text-transform:uppercase}.port-card.ok .port-stat{color:var(--ok)}.pw-out{align-items:center;background:var(--soft);border-radius:10px;display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;padding:14px}.pw-out code{background:transparent;border:0;flex:1;font-size:18px;min-width:200px;padding:0;word-break:break-all}.qr-out{background:#fff;border-radius:10px;margin-top:18px;padding:18px;text-align:center}.qr-out #qr canvas,.qr-out #qr img{margin:0 auto;max-width:240px}.guide{max-width:780px}.guide h2{margin-top:32px}.guide ol,.guide ul{line-height:1.75;padding-left:22px}.guide p{line-height:1.75}.ip-group{margin:24px 0}.ip-group h2{font-family:ui-monospace,monospace;font-size:20px}.ad-slot{margin:24px 0;min-height:90px;text-align:center}html{scroll-behavior:smooth}::-moz-selection{background:rgba(79,70,229,.25);color:inherit}::selection{background:rgba(79,70,229,.25);color:inherit}@media (min-width:1100px){.hero{padding:64px 0 72px}.hero h1{font-size:clamp(34px,3.8vw,52px)}}.card-pad{transition:transform .15s ease,box-shadow .25s ease,border-color .15s ease}.card-pad:hover{border-color:var(--ring)}:focus-visible{border-radius:6px;outline:2px solid var(--brand2);outline-offset:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px}.ip-hero .lede{margin-bottom:10px}.ip-hero.brand-hero h1{font-family:inherit}footer.footer a:hover,footer.site a:hover{color:#fff;text-decoration:none}.bg-soft{background:var(--soft)!important}@media (min-width:1400px){.brand-grid.big{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media print{.ad-slot,.burger,.lang-dd,.search,.search-wrap,footer.footer,footer.site,header.header-bar,header.site{display:none!important}main{padding:0}body{background:#fff}}.container{padding:0 clamp(16px,4vw,24px)}header.header-bar{border-bottom-color:hsla(0,0%,100%,.08)}header.header-bar .header-row{padding:14px clamp(16px,4vw,24px)}.burger{background:transparent!important;border:0!important;border-radius:10px;box-shadow:none!important;color:#fff;height:44px;opacity:.92;width:44px}.burger:hover{background:hsla(0,0%,100%,.07)!important;opacity:1}.burger:focus-visible{outline:2px solid var(--brand2);outline-offset:2px}@media (max-width:860px){header.header-bar .header-row{flex-wrap:wrap;gap:8px;padding:10px 20px;row-gap:10px}.brand-link{font-size:17px;gap:9px}.brand-dot{border-radius:4px;box-shadow:0 0 16px rgba(79,70,229,.55);height:11px;width:11px}.burger{height:42px;margin-left:auto;width:42px}.search-wrap{flex-basis:100%;order:3}.search-input{border-radius:12px;font-size:16px;height:44px;padding:0 14px 0 40px}.search-icon{left:14px;top:14px}.nav-primary{border-radius:14px;margin-top:6px}.nav-primary>.nav-link{border-radius:8px;font-size:15px;padding:13px 14px}.lang-toggle{border-radius:10px;font-size:15px;padding:12px 14px}}@media (max-width:420px){.container{padding:0 18px}.brand-link{font-size:16px}}.hero{padding-bottom:64px;padding-top:56px}.hero-search{border-radius:16px;box-shadow:0 20px 60px -16px rgba(0,0,0,.45),0 0 0 1px hsla(0,0%,100%,.04);margin-top:14px;max-width:600px;transition:transform .15s ease,box-shadow .25s ease}.hero-search:focus-within{box-shadow:0 24px 72px -16px rgba(34,211,238,.35),0 0 0 2px rgba(34,211,238,.45);transform:translateY(-1px)}.hero-search .prefix{background:linear-gradient(180deg,#f8fafc,#eef2f7);border-right:1px solid #e2e8f0;color:#64748b;font-size:15px;padding:0 16px}.hero-search input,.hero-search input#hero-ip{color:#0f172a;font-size:22px;font-weight:600;height:62px;letter-spacing:.01em;padding:0 18px}.hero-search input::-moz-placeholder{color:#94a3b8;font-weight:500}.hero-search input::placeholder{color:#94a3b8;font-weight:500}.hero-search button{background:linear-gradient(180deg,var(--brand),#3730a3);font-size:15px;font-weight:700;letter-spacing:.01em;padding:0 26px}.hero-search button:hover{background:linear-gradient(180deg,#4338ca,#312e81);filter:brightness(1.05)}@media (max-width:680px){.hero{padding:36px 0 44px}.hero-search{border-radius:14px;flex-direction:column}.hero-search .prefix{border-bottom:1px solid #e2e8f0;border-right:0;font-size:13px;height:38px;justify-content:flex-start;width:100%}.hero-search input{font-size:20px;height:56px;padding:0 16px}.hero-search button{border-radius:0 0 14px 14px;height:54px;width:100%}}.tools-grid{gap:16px}.tool-card{border-radius:16px}.tool-card:before{background:radial-gradient(circle at top right,rgba(79,70,229,.1),transparent 60%);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .25s ease}.tool-card:hover{border-color:var(--brand);box-shadow:0 18px 40px -12px rgba(15,23,42,.18)}.tool-card:hover:before{opacity:1}.tool-icon{border-radius:12px;box-shadow:0 6px 16px -6px rgba(79,70,229,.5);font-size:24px;height:48px;width:48px}.tool-card h3{margin:0 0 6px}.tool-card p{line-height:1.55}.tool-card .tool-arrow{font-size:18px;right:18px;top:24px}.tool-card:hover .tool-arrow{transform:translateX(4px)}.ip-form input,.ip-form select{border-radius:12px;font-size:16px;height:50px;padding:0 16px}.ip-form .row>.btn,.ip-form .row>button{border-radius:12px;font-size:15px;height:50px;padding:0 22px}.ip-form label{font-size:12px;margin-bottom:8px}.opts{background:var(--soft);border-radius:12px;gap:10px 18px;padding:14px}.opts,.opts label{border:1px solid var(--ring)}.opts label{background:var(--card);border-radius:8px;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;padding:8px 12px;transition:border-color .15s ease,background .15s ease}.opts label:hover{border-color:var(--brand)}.opts label:has(input:checked){background:rgba(79,70,229,.08);border-color:var(--brand);color:var(--brand)}.pw-out{background:linear-gradient(180deg,var(--soft),var(--card));border:1px solid var(--ring);border-radius:14px;gap:12px;padding:18px 20px}.pw-out code{color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:20px;font-weight:600;letter-spacing:.02em}.pw-out .btn{height:42px}.test-card{border-radius:14px;gap:14px;padding:16px;transition:border-color .2s,background .2s}.t-status{font-size:18px;height:36px;width:36px}.conclusion{border-radius:12px;font-weight:500;padding:16px 20px}.defs dt{font-size:14px;margin-top:14px}.defs dd{font-size:14px;line-height:1.6;margin-top:4px}@media (max-width:680px){.section{margin:24px 0}.card-pad{border-radius:14px;padding:18px}.hero h1{font-size:clamp(26px,7vw,36px)}.hero .lede{font-size:16px}}.container{margin-left:auto!important;margin-right:auto!important;padding-left:max(clamp(20px,5.5vw,28px),env(safe-area-inset-left));padding-right:max(clamp(20px,5.5vw,28px),env(safe-area-inset-right))}main#main{display:block;width:100%}@media (max-width:420px){.container{padding-left:22px;padding-right:22px}.brand-link{font-size:16px}}.tools-intro{align-items:center;background:linear-gradient(135deg,#0f172a,#1e1b4b);border:1px solid hsla(0,0%,100%,.08);border-radius:20px;box-shadow:0 24px 64px -24px rgba(15,23,42,.45);color:#fff;display:grid;gap:28px;grid-template-columns:1.4fr 1fr;margin:14px 0 24px;overflow:hidden;padding:32px;position:relative}.tools-intro:before{background:radial-gradient(800px 300px at -10% -20%,rgba(34,211,238,.18),transparent 60%),radial-gradient(600px 280px at 110% 120%,rgba(168,85,247,.18),transparent 60%);content:"";inset:0;pointer-events:none;position:absolute}.tools-intro>*{position:relative}.tools-intro h1{color:#fff;font-size:clamp(28px,3.6vw,40px);letter-spacing:-.02em;margin:0 0 8px}.tools-intro p{color:#cbd5e1;font-size:16px;line-height:1.55;margin:0 0 16px;max-width:520px}.tools-intro .badges{display:flex;flex-wrap:wrap;gap:8px}.tools-intro .badge-chip{align-items:center;background:hsla(0,0%,100%,.07);border:1px solid hsla(0,0%,100%,.12);border-radius:999px;color:#e2e8f0;display:inline-flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:.02em;padding:6px 12px}.tools-intro .badge-chip svg{height:13px;width:13px}.tools-intro .filter-wrap{align-items:center;background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.14);border-radius:14px;display:flex;padding:0 14px 0 44px;position:relative;transition:.18s}.tools-intro .filter-wrap:focus-within{background:hsla(0,0%,100%,.14);border-color:rgba(34,211,238,.5)}.tools-intro .filter-wrap svg{left:14px;opacity:.6;position:absolute;top:50%;transform:translateY(-50%)}.tools-intro .filter-wrap input{background:transparent;border:0;color:#fff;flex:1;font-size:16px;height:50px;outline:none}.tools-intro .filter-wrap input::-moz-placeholder{color:hsla(0,0%,100%,.55)}.tools-intro .filter-wrap input::placeholder{color:hsla(0,0%,100%,.55)}@media (max-width:1100px){.tools-intro{gap:16px;grid-template-columns:1fr;padding:24px}}.tools-section{margin:18px 0 8px}.tools-section h2{align-items:center;color:var(--mute);display:flex;font-size:13px;font-weight:700;gap:10px;letter-spacing:.12em;margin:0 0 12px;text-transform:uppercase}.tools-section h2:after{background:var(--ring);content:"";flex:1;height:1px}.tools-grid{gap:14px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:0}.tool-card{background:var(--card);border:1px solid var(--ring);border-radius:18px;box-shadow:0 1px 2px rgba(15,23,42,.04);overflow:hidden;padding:22px;position:relative;transition:transform .18s cubic-bezier(.2,.7,.3,1.2),box-shadow .25s ease,border-color .15s ease}.tool-card:after{background:linear-gradient(90deg,var(--brand),var(--brand2));content:"";height:3px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.tool-card:hover{border-color:transparent;box-shadow:0 20px 44px -16px rgba(15,23,42,.22);transform:translateY(-3px)}.tool-card:hover:after{transform:scaleX(1)}.tool-icon{align-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));border-radius:14px;box-shadow:0 8px 18px -8px rgba(79,70,229,.55);color:#fff;display:flex;height:46px;justify-content:center;margin-bottom:14px;width:46px}.tool-icon svg{height:22px;width:22px}.tool-card[data-cat=security] .tool-icon{background:linear-gradient(135deg,#f59e0b,#ef4444);box-shadow:0 8px 18px -8px rgba(239,68,68,.45)}.tool-card[data-cat=discovery] .tool-icon{background:linear-gradient(135deg,#06b6d4,#3b82f6);box-shadow:0 8px 18px -8px rgba(59,130,246,.45)}.tool-card[data-cat=utility] .tool-icon{background:linear-gradient(135deg,#10b981,#06b6d4);box-shadow:0 8px 18px -8px rgba(16,185,129,.45)}.tool-card[data-cat=network] .tool-icon{background:linear-gradient(135deg,#a855f7,#6366f1);box-shadow:0 8px 18px -8px rgba(168,85,247,.45)}.tool-card h3{font-size:17px;font-weight:700;letter-spacing:-.01em;margin:0 0 4px}.tool-card p{color:var(--mute);font-size:14px;line-height:1.5;margin:0}.tool-card .tool-arrow{color:var(--mute);position:absolute;right:16px;top:22px;transition:transform .2s ease,color .2s ease}.tool-card:hover .tool-arrow{color:var(--brand);transform:translateX(3px)}.tool-card[hidden]{display:none}.tools-empty{color:var(--mute);font-size:14px;grid-column:1/-1;padding:32px;text-align:center}.tool-shell{display:grid;gap:18px;grid-template-columns:1fr}@media(min-width:980px){.tool-shell.split{grid-template-columns:1.25fr .9fr}}.tool-card-pro{background:var(--card);border:1px solid var(--ring);border-radius:18px;box-shadow:var(--shadow);padding:24px}.tool-card-pro h2{margin-top:0}.tool-card-pro .form-stack{display:grid;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field .lbl,.field label{font-weight:600;letter-spacing:.06em;text-transform:uppercase}.field .hint,.field .lbl,.field label{color:var(--mute);font-size:12px}.field-input,.tool-card-pro input:not([type]),.tool-card-pro input[type=number],.tool-card-pro input[type=search],.tool-card-pro input[type=text],.tool-card-pro select,.tool-card-pro textarea{background:var(--card);border:1px solid var(--ring);border-radius:12px;color:var(--ink);font:500 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;height:48px;outline:none;padding:0 14px;transition:.15s;width:100%}.tool-card-pro textarea{height:auto;line-height:1.5;min-height:90px;padding:12px 14px}.tool-card-pro input:focus,.tool-card-pro select:focus,.tool-card-pro textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(79,70,229,.14)}.btn-row{display:flex;flex-wrap:wrap;gap:10px}.btn.lg{border-radius:12px;font-size:15px;height:48px;padding:0 20px}.btn.primary.lg{background:linear-gradient(180deg,var(--brand),#3730a3);border-color:transparent;box-shadow:0 10px 24px -10px rgba(79,70,229,.55);color:#fff}.chip-toggle{align-items:center;background:var(--card);border:1px solid var(--ring);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 14px;transition:.15s}.chip-toggle input{display:none}.chip-toggle:hover{border-color:var(--brand)}.chip-toggle.is-on{background:linear-gradient(135deg,var(--brand),var(--brand2));border-color:transparent;box-shadow:0 4px 12px -4px rgba(79,70,229,.5);color:#fff}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.kpi-row{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:14px}.kpi{background:var(--soft);border:1px solid var(--ring);border-radius:12px;padding:14px;text-align:center}.kpi .num{color:var(--ink);font:700 22px/1 ui-monospace,monospace}.kpi .lbl{color:var(--mute);font-size:11px;letter-spacing:.06em;margin-top:6px;text-transform:uppercase}.kpi.ok .num{color:var(--ok)}.kpi.err .num{color:var(--err)}.result-table{border-collapse:collapse;font-size:14px;margin-top:8px;width:100%}.result-table th{background:var(--soft);color:var(--mute);font-size:11px;font-weight:600;letter-spacing:.08em;padding:10px 12px;text-align:left;text-transform:uppercase}.result-table td,.result-table th{border-bottom:1px solid var(--ring)}.result-table td{font-family:ui-monospace,monospace;font-size:13.5px;padding:11px 12px}.result-table tr:last-child td{border:0}.result-table .copy-btn{background:transparent;border:1px solid var(--ring);border-radius:6px;color:var(--mute);cursor:pointer;font-size:12px;padding:2px 8px;transition:.12s}.result-table .copy-btn:hover{border-color:var(--brand);color:var(--brand)}.alert{align-items:flex-start;border-radius:12px;display:flex;font-size:14px;gap:10px;line-height:1.5;padding:12px 14px}.alert svg{flex-shrink:0;margin-top:1px}.alert.info{background:rgba(99,102,241,.08);border:1px solid rgba(99,102,241,.25);color:var(--brand)}.alert.ok{background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.25);color:var(--ok)}.alert.warn{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.3);color:#92400e}@media(prefers-color-scheme:dark){.alert.warn{color:#fbbf24}}.alert.err{background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.3);color:var(--err)}.subnet-bar{margin-top:18px}.subnet-bar .scale{background:linear-gradient(90deg,#eef2ff,#cffafe);border:1px solid var(--ring);border-radius:10px;height:48px;overflow:hidden;position:relative}@media(prefers-color-scheme:dark){.subnet-bar .scale{background:linear-gradient(90deg,#1e1b4b,#0e7490)}}.subnet-bar .scale .marker{background:var(--brand);bottom:0;position:absolute;top:0;width:2px}.subnet-bar .scale .first,.subnet-bar .scale .last{background:var(--card);border:1px solid var(--ring);border-radius:6px;font-family:ui-monospace,monospace;font-size:12px;padding:3px 8px;position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap;z-index:2}.subnet-bar .scale .first{left:8px}.subnet-bar .scale .last{right:8px}.subnet-bar .legend{color:var(--mute);display:flex;font-family:ui-monospace,monospace;font-size:11px;justify-content:space-between;margin-top:6px}.split-list{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:12px}.split-list .seg{background:var(--soft);border:1px solid var(--ring);border-radius:10px;font-family:ui-monospace,monospace;font-size:13px;padding:10px 12px}.split-list .seg .net{color:var(--ink);font-weight:700}.split-list .seg .rng{color:var(--mute);font-size:12px;margin-top:2px}.pw-display{align-items:center;background:linear-gradient(135deg,rgba(79,70,229,.07),rgba(6,182,212,.05));border:1px solid var(--ring);border-radius:14px;display:flex;flex-wrap:wrap;gap:8px;padding:16px 18px}.pw-display .pw-value{color:var(--ink);flex:1;font:700 22px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.02em;min-width:200px;word-break:break-all}.pw-display .pw-value .pw-digit{color:#06b6d4}.pw-display .pw-value .pw-sym{color:#ef4444}.pw-display .pw-value .pw-upper{color:#a855f7}.pw-strength{margin-top:14px}.pw-strength .meter{background:var(--soft);border:1px solid var(--ring);border-radius:999px;height:10px;overflow:hidden}.pw-strength .meter .fill{border-radius:999px;height:100%;transition:width .25s ease,background .25s ease;width:0}.pw-strength.weak .fill{background:#ef4444;width:25%}.pw-strength.ok .fill{background:#f59e0b;width:50%}.pw-strength.good .fill{background:#10b981;width:75%}.pw-strength.great .fill{background:linear-gradient(90deg,#10b981,#06b6d4);width:100%}.pw-strength .label{color:var(--mute);display:flex;font-size:12px;justify-content:space-between;margin-top:6px}.pw-list{display:grid;gap:6px;margin-top:14px}.pw-list .item{align-items:center;background:var(--soft);border:1px solid var(--ring);border-radius:10px;display:flex;font-family:ui-monospace,monospace;font-size:14px;justify-content:space-between;padding:10px 14px}.pw-list .item button{background:transparent;border:0;color:var(--mute);cursor:pointer;font-size:13px}.pw-list .item button:hover{color:var(--brand)}.conv-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}@media(max-width:680px){.conv-grid{grid-template-columns:1fr}}.conv-cell{position:relative}.conv-cell .copy-mini{background:transparent;border:0;color:var(--mute);cursor:pointer;font-size:14px;padding:6px;position:absolute;right:8px;top:32px}.conv-cell .copy-mini:hover{color:var(--brand)}.ip-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.ip-meta .pill{background:var(--soft);border:1px solid var(--ring);border-radius:999px;color:var(--ink);font-size:12px;font-weight:600;padding:6px 12px}.ip-meta .pill.priv{background:rgba(16,185,129,.1);border-color:rgba(16,185,129,.3);color:var(--ok)}.ip-meta .pill.pub{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.3);color:#92400e}@media(prefers-color-scheme:dark){.ip-meta .pill.pub{color:#fbbf24}}.ip-meta .pill.cls{background:rgba(99,102,241,.1);border-color:rgba(99,102,241,.3);color:var(--brand)}.dns-result{display:grid;gap:8px;margin-top:14px}.dns-record{align-items:center;background:var(--soft);border:1px solid var(--ring);border-radius:10px;display:grid;font-family:ui-monospace,monospace;font-size:13.5px;gap:10px;grid-template-columns:80px 1fr auto;padding:12px 14px}.dns-record .type{background:rgba(79,70,229,.1);border-radius:6px;color:var(--brand);font-size:12px;font-weight:700;padding:4px 8px;text-align:center}.dns-record .val{color:var(--ink);word-break:break-all}.dns-record .ttl{color:var(--mute);font-size:11px}.dns-meta{color:var(--mute);display:flex;flex-wrap:wrap;font-size:12px;gap:14px;margin-top:10px}.mac-result{align-items:center;background:var(--soft);border:1px solid var(--ring);border-radius:14px;display:grid;gap:18px;grid-template-columns:auto 1fr;margin-top:14px;padding:18px}.mac-avatar{align-items:center;background:linear-gradient(135deg,var(--brand),var(--brand2));border-radius:16px;box-shadow:0 10px 24px -10px rgba(79,70,229,.5);color:#fff;display:flex;font:800 26px/1 system-ui;height:64px;justify-content:center;width:64px}.mac-info .vendor{color:var(--ink);font:700 22px/1.2 system-ui;margin:0}.mac-info .oui{color:var(--mute);font:600 12px/1 ui-monospace,monospace;letter-spacing:.04em;margin:6px 0 0;text-transform:uppercase}.qr-layout{align-items:start;display:grid;gap:24px;grid-template-columns:1fr auto;margin-top:8px}@media(max-width:780px){.qr-layout{grid-template-columns:1fr}}.qr-preview{background:#fff;border:1px solid var(--ring);border-radius:18px;box-shadow:0 12px 32px -16px rgba(15,23,42,.25);flex-direction:column;gap:14px;min-width:280px;padding:22px}.qr-preview,.qr-preview #qr{align-items:center;display:flex}.qr-preview #qr{justify-content:center;min-height:240px;min-width:240px}.qr-preview .ssid-tag{color:#0f172a;font-size:14px;font-weight:700;text-align:center}.qr-preview .placeholder{color:#94a3b8;font-size:13px;padding:60px 0;text-align:center}.ping-chart{align-items:flex-end;background:linear-gradient(180deg,rgba(99,102,241,.05),rgba(99,102,241,.02));border:1px solid var(--ring);border-radius:14px;display:flex;gap:6px;height:140px;margin-top:14px;padding:16px 14px 8px;position:relative}.ping-chart .pbar{background:linear-gradient(180deg,var(--brand),var(--brand2));border-radius:6px 6px 2px 2px;cursor:default;flex:1;min-height:8px;position:relative;transition:height .25s ease,background .25s}.ping-chart .pbar.err{background:linear-gradient(180deg,#ef4444,#b91c1c)}.ping-chart .pbar:after{bottom:calc(100% + 4px);color:var(--mute);content:attr(data-ms) "ms";font:600 10px/1 ui-monospace,monospace;left:50%;opacity:0;position:absolute;transform:translateX(-50%);transition:opacity .15s;white-space:nowrap}.ping-chart .pbar:hover:after{opacity:1}.scan-progress{background:var(--soft);border:1px solid var(--ring);border-radius:999px;height:6px;margin-top:12px;overflow:hidden}.scan-progress .fill{background:linear-gradient(90deg,var(--brand),var(--brand2));height:100%;transition:width .25s ease;width:0}.port-grid{gap:8px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.port-card{background:var(--card);border:1px solid var(--ring);border-radius:12px;overflow:hidden;padding:12px 8px;position:relative;text-align:center;transition:.18s}.port-card.ok{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.4)}.port-card.ok:before{background:var(--ok);border-radius:50%;box-shadow:0 0 8px var(--ok);content:"";height:6px;position:absolute;right:6px;top:6px;width:6px}.port-card.err{opacity:.5}.port-card.wait{animation:portWait 1s linear infinite;background:repeating-linear-gradient(135deg,var(--soft) 0,var(--soft) 8px,var(--card) 8px,var(--card) 16px)}@keyframes portWait{to{background-position:32px 0}}.ipcard-big{background:linear-gradient(135deg,#0f172a,#1e3a8a);border:1px solid hsla(0,0%,100%,.08);border-radius:18px;box-shadow:0 24px 64px -24px rgba(15,23,42,.5);color:#fff;display:flex;flex-direction:column;gap:8px;overflow:hidden;padding:28px;position:relative}.ipcard-big:before{background:radial-gradient(600px 200px at 100% 0,rgba(34,211,238,.18),transparent 60%);content:"";inset:0;pointer-events:none;position:absolute}.ipcard-big>*{position:relative}.ipcard-big .eyebrow{color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.ipcard-big .value{font:800 clamp(28px,4vw,42px)/1.05 ui-monospace,monospace;letter-spacing:-.01em;margin:4px 0}.ipcard-big .copy-big{align-self:flex-start;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.18);border-radius:10px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;margin-top:6px;padding:8px 14px}.ipcard-big .copy-big:hover{background:hsla(0,0%,100%,.18)}.info-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:14px}.info-tile{background:var(--soft);border:1px solid var(--ring);border-radius:12px;padding:14px}.info-tile .lbl{color:var(--mute);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.info-tile .val{font-family:ui-monospace,monospace;font-size:13px;margin-top:4px;word-break:break-all}.toast{background:#0f172a;border-radius:999px;bottom:24px;box-shadow:0 20px 40px -10px rgba(15,23,42,.4);color:#fff;font-size:14px;font-weight:600;left:50%;opacity:0;padding:10px 18px;pointer-events:none;position:fixed;transform:translateX(-50%) translateY(20px);transition:opacity .2s ease,transform .2s ease;z-index:200}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.layout-shell{align-items:start;display:grid;gap:clamp(20px,2.5vw,36px);grid-template-columns:minmax(0,1fr) clamp(240px,22vw,300px);margin:0 auto;max-width:min(1440px,calc(100vw - 32px));padding:0 max(clamp(16px,4vw,28px),env(safe-area-inset-right)) 0 max(clamp(16px,4vw,28px),env(safe-area-inset-left));width:100%}.layout-main{min-width:0;width:100%}.layout-main .container{max-width:none;width:100%}@media (max-width:1280px){.layout-shell{gap:20px;grid-template-columns:minmax(0,1fr) 240px}}.page-aside{align-self:start;font-size:14px;position:sticky;top:88px}.aside-inner{display:flex;flex-direction:column;gap:18px;max-height:calc(100vh - 110px);overflow-y:auto;padding-right:4px}.aside-block{background:var(--card,#fff);border:1px solid var(--ring,#e2e8f0);border-radius:14px;box-shadow:0 1px 2px rgba(15,23,42,.04);padding:14px 16px}.aside-h{align-items:center;border-bottom:1px solid var(--ring,#e2e8f0);color:var(--ink,#0f172a);display:flex;font-size:13px;font-weight:700;gap:8px;letter-spacing:.04em;margin:0 0 10px;padding-bottom:8px;text-transform:uppercase}.aside-ico{font-size:15px}.aside-list{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.aside-list li a{border-radius:8px;color:var(--ink,#0f172a);display:block;font-size:13.5px;line-height:1.35;padding:6px 8px;text-decoration:none;transition:background .12s ease,color .12s ease}.aside-list li a:hover{background:var(--soft,#f1f5f9);color:var(--brand,#4f46e5);text-decoration:none}.aside-list li a.active{background:linear-gradient(135deg,var(--brand,#4f46e5),var(--brand2,#06b6d4));color:#fff;font-weight:600}.aside-list.compact li a{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;padding:4px 8px}.aside-mini-title{color:var(--mute);font-size:11px;font-weight:700;letter-spacing:.06em;margin:12px 0 4px;text-transform:uppercase}.context-block{background:linear-gradient(180deg,var(--card),var(--soft));border-color:color-mix(in srgb,var(--brand) 30%,var(--ring))}.aside-foot{font-size:13px;margin:10px 0 0;text-align:right}.aside-foot a{color:var(--brand,#4f46e5);font-weight:600;text-decoration:none}.aside-foot a:hover{text-decoration:underline}[dir=rtl] .layout-shell{grid-template-columns:clamp(240px,22vw,300px) minmax(0,1fr)}[dir=rtl] .aside-foot{text-align:left}@media (max-width:1024px){.layout-shell{grid-template-columns:1fr;max-width:100%;padding:0 clamp(16px,4vw,24px)}.page-aside{max-height:none;order:2;position:static}.aside-inner{max-height:none;overflow:visible}.aside-block{padding:12px 14px}}@media (prefers-color-scheme:dark){.aside-block{background:#0f172a;border-color:hsla(0,0%,100%,.08);box-shadow:none}.aside-h{border-bottom-color:hsla(0,0%,100%,.08);color:#e2e8f0}.aside-list li a{color:#cbd5e1}.aside-list li a:hover{background:hsla(0,0%,100%,.04);color:#fff}}.callout{background:var(--soft,#f8fafc);border:1px solid var(--ring,#e2e8f0);border-left:4px solid var(--brand,#4f46e5);border-radius:10px;font-size:15px;line-height:1.65;margin:18px 0;padding:14px 18px}.callout strong{color:var(--ink,#0f172a)}.callout.tip{background:#ecfdf5;border-left-color:#10b981}.callout.warn{background:#fffbeb;border-left-color:#f59e0b}.callout.info{background:#ecfeff;border-left-color:#06b6d4}.callout.danger{background:#fef2f2;border-left-color:#ef4444}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout .label{background:rgba(15,23,42,.06);border-radius:999px;color:var(--ink,#0f172a);display:inline-block;font-size:11px;font-weight:700;letter-spacing:.06em;margin-right:8px;padding:2px 8px;text-transform:uppercase}.os-block{background:var(--card,#fff);border:1px solid var(--ring,#e2e8f0);border-radius:12px;margin:14px 0;padding:16px 20px}.os-block h3{align-items:center;display:flex;font-size:17px;gap:8px;margin:0 0 8px}.os-block h3 .os-ico{font-size:20px}.guide table{border-collapse:collapse;font-size:14.5px;margin:16px 0;width:100%}.guide table td,.guide table th{border:1px solid var(--ring,#e2e8f0);padding:8px 12px;text-align:left;vertical-align:top}.guide table th{background:var(--soft,#f1f5f9);color:var(--ink,#0f172a);font-weight:600}.guide kbd{border:solid #cbd5e1;border-width:1px 1px 2px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.88em}.guide code,.guide kbd{background:#f1f5f9;border-radius:4px;color:#0f172a;padding:1px 6px}.guide code{font-size:.92em}.tldr{align-items:flex-start;background:linear-gradient(135deg,rgba(79,70,229,.06),rgba(6,182,212,.06));border:1px solid rgba(79,70,229,.15);border-radius:14px;display:flex;gap:14px;margin:18px 0 22px;padding:16px 20px}.tldr-ico{align-items:center;background:linear-gradient(135deg,#4f46e5,#06b6d4);border-radius:50%;color:#fff;display:flex;flex:0 0 auto;font-size:16px;font-weight:700;height:36px;justify-content:center;width:36px}.tldr-content{flex:1;min-width:0}.tldr-content strong{color:var(--brand,#4f46e5);display:block;font-size:13px;letter-spacing:.05em;margin-bottom:4px;text-transform:uppercase}.tldr-content p{color:var(--ink,#0f172a);font-size:15.5px;line-height:1.55;margin:0}@media (prefers-color-scheme:dark){.callout{background:#1e293b;border-color:hsla(0,0%,100%,.08)}.callout.tip{background:rgba(16,185,129,.08)}.callout.warn{background:rgba(245,158,11,.08)}.callout.info{background:rgba(6,182,212,.08)}.callout.danger{background:rgba(239,68,68,.08)}.os-block{background:#0f172a;border-color:hsla(0,0%,100%,.08)}.guide table th{background:#1e293b;color:#e2e8f0}.guide table td,.guide table th{border-color:hsla(0,0%,100%,.08)}.guide code,.guide kbd{background:#1e293b;border-color:hsla(0,0%,100%,.1);color:#e2e8f0}.tldr{background:linear-gradient(135deg,rgba(79,70,229,.12),rgba(6,182,212,.12))}.tldr-content p{color:#e2e8f0}}.internal-page .lede{max-width:760px}.internal-hero{align-items:start;background:linear-gradient(135deg,rgba(79,70,229,.08),rgba(6,182,212,.06)),var(--card);border:1px solid var(--ring);border-radius:16px;box-shadow:var(--shadow);display:grid;gap:24px;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);padding:28px}.internal-jump{margin-top:18px;max-width:560px}.internal-jump label{color:var(--mute);display:block;font-size:12px;font-weight:700;letter-spacing:.06em;margin:0 0 6px;text-transform:uppercase}.internal-jump>div{align-items:stretch;display:flex;gap:8px}.internal-jump input{background:var(--card);border:1px solid var(--ring);border-radius:12px;color:var(--ink);flex:1;font:700 16px/1 ui-monospace,SFMono-Regular,Menlo,monospace;height:46px;min-width:0;outline:none;padding:0 14px}.internal-jump input:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(79,70,229,.12)}.internal-stat-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.internal-stat{background:var(--card);border:1px solid var(--ring);border-radius:12px;padding:14px}.internal-stat strong{color:var(--ink);display:block;font:800 24px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.internal-stat span{color:var(--ink);display:block;font-size:13px;font-weight:700;margin-top:6px}.internal-stat small{color:var(--mute);display:block;font-size:12px;margin-top:2px}.internal-panel{background:var(--card);border:1px solid var(--ring);border-radius:16px;box-shadow:var(--shadow);min-width:0;padding:22px}.gateway-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.gateway-card{background:var(--soft);border:1px solid var(--ring);border-radius:12px;color:var(--ink);display:flex;flex-direction:column;gap:5px;padding:14px;text-decoration:none;transition:border-color .15s,transform .08s,box-shadow .2s}.gateway-card:hover{border-color:var(--brand);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-1px)}.gateway-card .gateway-ip{font:800 16px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.gateway-card span:last-of-type{color:var(--mute);font-size:12px}.gateway-card strong{align-self:flex-start;background:rgba(16,185,129,.12);border-radius:999px;color:var(--ok);font-size:11px;letter-spacing:.06em;padding:2px 8px;text-transform:uppercase}.gateway-card.verified{border-color:rgba(16,185,129,.45)}.range-family-stack{display:grid;gap:10px;margin-top:14px}.range-family{background:var(--soft);border:1px solid var(--ring);border-radius:12px;overflow:hidden}.range-family summary{cursor:pointer;display:flex;flex-direction:column;gap:3px;list-style:none;padding:14px 16px}.range-family summary::-webkit-details-marker{display:none}.range-family summary span{color:var(--ink);font-weight:800}.range-family summary small{color:var(--mute);font-size:13px;line-height:1.45}.range-chip-grid{display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));padding:0 14px 14px}.range-chip,.range-strip a{align-items:center;background:var(--card);border:1px solid var(--ring);border-radius:8px;color:var(--ink);display:flex;font:700 12px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace;justify-content:center;min-height:34px;text-align:center;text-decoration:none}.range-chip:hover,.range-strip a:hover{border-color:var(--brand);color:var(--brand);text-decoration:none}.range-chip.active,.range-strip a.active{background:linear-gradient(135deg,var(--brand),var(--brand2));border-color:transparent;color:#fff}.range-strip{display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(122px,1fr));max-height:360px;overflow:auto;padding:2px}.internal-ip-grid{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.internal-ip-card{background:var(--card);border:1px solid var(--ring);border-radius:10px;color:var(--ink);display:flex;flex-direction:column;gap:4px;min-height:78px;padding:11px 12px;text-decoration:none;transition:border-color .15s,background .15s,transform .08s}.internal-ip-card:hover{background:var(--soft);border-color:var(--brand);text-decoration:none;transform:translateY(-1px)}.internal-ip-card .ip{font:800 14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.internal-ip-card .role{color:var(--mute);font-size:12px;line-height:1.35}.internal-ip-card strong{align-self:flex-start;background:rgba(16,185,129,.12);border-radius:999px;color:var(--ok);font-size:10px;letter-spacing:.08em;margin-top:auto;padding:2px 7px;text-transform:uppercase}.internal-ip-card.gateway{border-color:color-mix(in srgb,var(--brand) 35%,var(--ring))}.internal-ip-card.verified{background:linear-gradient(180deg,rgba(16,185,129,.08),transparent),var(--card)}.fallback-creds{border-top:1px solid var(--ring);margin-top:12px;padding-top:12px}table.creds.compact{font-size:13px}table.creds.compact td,table.creds.compact th{padding:7px 8px}.manual-resource-panel{background:var(--card);border:1px solid var(--ring);border-radius:16px;box-shadow:var(--shadow);padding:22px}.manual-resource-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));margin:12px 0 16px}.manual-resource-card{background:var(--soft);border:1px solid var(--ring);border-radius:12px;color:var(--ink);display:flex;flex-direction:column;gap:5px;min-height:90px;padding:14px;text-decoration:none;transition:border-color .15s,transform .08s,box-shadow .2s}.manual-resource-card:hover{border-color:var(--brand);box-shadow:var(--shadow);text-decoration:none;transform:translateY(-1px)}.manual-resource-card strong{color:var(--ink);font-size:14px}.manual-resource-card span{color:var(--mute);font-size:12px;word-break:break-word}.manual-link-list li{margin-bottom:8px}.manual-link-list span{display:block}@media(max-width:900px){.internal-hero{grid-template-columns:1fr;padding:20px}.internal-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.internal-jump>div{flex-direction:column}.internal-stat-grid{grid-template-columns:1fr}.internal-panel{border-radius:14px;padding:16px}.internal-ip-grid,.range-chip-grid,.range-strip{grid-template-columns:repeat(auto-fill,minmax(118px,1fr))}}@media (min-width:768px){.md\:px-4{padding-left:1rem;padding-right:1rem}}