:root{--bg:#0b0c0e;--panel:#121417;--panel2:#171a1e;--text:#f1eee7;--muted:#92958f;--line:#ff9f1c2e;--cyan:#ff9f1c;--violet:#ff6b1a;--amber:#ff9f1c;--acid:#c7ff46;--green:#85ef9b;--red:#ff6464;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:linear-gradient(#0b0c0e 0%,#0d0f11 45%,#090a0b 100%);margin:0;font-family:IBM Plex Sans,Inter,system-ui,sans-serif}.grid-bg{pointer-events:none;opacity:.22;background-image:linear-gradient(#ff9f1c09 1px,#0000 1px),linear-gradient(90deg,#ff9f1c09 1px,#0000 1px);background-size:48px 48px;position:fixed;inset:0}a{color:inherit;text-decoration:none}.topbar{z-index:2;width:min(calc(100% - 36px),var(--max));border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;height:88px;margin:auto;display:grid;position:relative}.brand{align-items:center;gap:12px;display:flex}.brand>span:last-child{flex-direction:column;display:flex}.badge{border:1px solid var(--cyan);width:42px;height:42px;color:var(--cyan);place-items:center;font-weight:900;display:grid}.topbar nav{gap:24px;display:flex}.topbar nav a,.online{color:#8392a9;letter-spacing:.05em;font:10px ui-monospace,monospace}.online{justify-self:end}.online i{background:var(--green);width:7px;height:7px;box-shadow:0 0 12px var(--green);border-radius:50%;margin-right:7px;display:inline-block}.hero,.tool-index,.workspace,footer{z-index:1;width:min(calc(100% - 36px),var(--max));margin:auto;position:relative}.hero{border-bottom:1px solid var(--line);grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;min-height:650px;display:grid}.eyebrow,.section-title span,.panel header>span{color:var(--cyan);letter-spacing:.1em;font:10px ui-monospace,monospace}.hero h1{letter-spacing:-.075em;margin:.25em 0;font-size:clamp(4rem,8.5vw,7.9rem);line-height:.78}.hero h1 span{color:#0000;background:linear-gradient(90deg,var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text}.hero p{color:#93a2b8;max-width:660px;line-height:1.7}.hero-actions{align-items:center;gap:16px;margin-top:26px;display:flex}.btn{border:1px solid var(--line);letter-spacing:.07em;padding:13px 16px;font:800 10px ui-monospace,monospace}.privacy-note{color:#65758c;font:10px ui-monospace,monospace}.terminal{background:#070e1beb;border:1px solid #43ddff38;box-shadow:0 26px 80px #00000047}.terminal-head{border-bottom:1px solid var(--line);align-items:center;gap:7px;height:46px;padding:0 16px;display:flex}.terminal-head i{background:#ff657b;border-radius:50%;width:8px;height:8px}.terminal-head i:nth-child(2){background:#ffc64e}.terminal-head i:nth-child(3){background:#65efa7}.terminal-head b{color:#52637a;margin-left:auto;font:11px ui-monospace,monospace}.terminal pre{color:#8fa0b6;white-space:pre-wrap;margin:0;padding:26px;font:13px/1.75 ui-monospace,monospace}.terminal pre span{color:var(--cyan)}.cursor{animation:1s step-end infinite blink}@keyframes blink{50%{opacity:0}}.tool-index{border-bottom:1px solid var(--line);padding:80px 0}.section-title{margin-bottom:30px}.section-title h2{letter-spacing:-.05em;margin:.2em 0;font-size:clamp(2.2rem,4vw,4rem)}.tool-cards{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.tool-card{border:1px solid var(--line);background:#08101ec2;min-height:180px;padding:20px;transition:all .18s}.tool-card:hover{border-color:#43ddff7a;transform:translateY(-3px)}.tool-card>span{color:var(--cyan);font:800 10px ui-monospace,monospace}.tool-card strong{margin:28px 0 8px;font-size:1.05rem;display:block}.tool-card small{color:#718299;line-height:1.5}.workspace{gap:18px;padding:55px 0 110px;display:grid}.panel{border:1px solid var(--line);background:linear-gradient(#081120f0,#050a15e0);padding:28px;scroll-margin-top:20px}.panel:target{border-color:#43ddff8c;box-shadow:0 0 0 1px #43ddff0f}.panel header{border-bottom:1px solid #ffffff0f;margin-bottom:22px;padding-bottom:20px}.panel h2{letter-spacing:-.045em;margin:.35rem 0;font-size:clamp(1.8rem,3vw,2.8rem)}.panel header p{color:#7f8fa6;margin:0}.panel label{color:#92a1b5;letter-spacing:.06em;gap:8px;font:10px ui-monospace,monospace;display:grid}.panel input,.panel textarea{color:#e2f3ff;resize:vertical;background:#050b15;border:1px solid #5bdbff2e;outline:none;width:100%;padding:13px 14px;font:13px/1.55 ui-monospace,monospace}.panel input:focus,.panel textarea:focus{border-color:#43ddff9e;box-shadow:0 0 0 2px #43ddff0d}button{border:1px solid var(--cyan);background:var(--cyan);color:#031017;letter-spacing:.07em;cursor:pointer;padding:12px 15px;font:800 10px ui-monospace,monospace}button.secondary{color:var(--cyan);background:0 0;border-color:#43ddff52}button:hover{filter:brightness(1.08)}.input-row,.dual-grid{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.dual-grid label:nth-of-type(2){grid-column:1}.actions{gap:9px;margin:12px 0;display:flex}.output,.status{margin-top:16px}.output dl{background:#5bdbff1a;border:1px solid #5bdbff1a;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid}.output dl>div{background:#07101e;min-width:0;padding:13px 14px}.output dt{color:#65758c;text-transform:uppercase;letter-spacing:.08em;margin-bottom:5px;font:9px ui-monospace,monospace}.output dd{color:#dff8ff;word-break:break-word;margin:0;font:700 12px/1.5 ui-monospace,monospace}.error,.ok{color:var(--red);background:#ff70850f;border:1px solid #ff708547;padding:12px 14px;font:12px ui-monospace,monospace}.ok{color:var(--green);background:#74efad0f;border-color:#74efad47}footer{border-top:1px solid var(--line);color:#5f7088;justify-content:space-between;padding:45px 0;font:11px ui-monospace,monospace;display:flex}@media (width<=1000px){.topbar nav,.online{display:none}.hero{grid-template-columns:1fr;padding:75px 0}.tool-cards{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.tool-cards,.input-row,.dual-grid{grid-template-columns:1fr}.dual-grid label:nth-of-type(2){grid-column:auto}.actions{display:grid}.output dl{grid-template-columns:1fr}.panel{padding:20px}.hero h1{font-size:clamp(3.4rem,17vw,5.5rem)}footer{gap:10px;display:grid}}.inner-hero{width:min(calc(100% - 36px),var(--max));border-bottom:1px solid var(--line);margin:auto;padding:92px 0 58px}.inner-hero h1{letter-spacing:-.07em;margin:.4rem 0 1.2rem;font-size:clamp(3.8rem,8vw,7.5rem);line-height:.82}.inner-hero h1 span{color:#0000;background:linear-gradient(90deg,var(--cyan),var(--violet));-webkit-background-clip:text;background-clip:text}.inner-hero p{color:#95a3b8;max-width:780px;line-height:1.7}.diagnostic-shell{width:min(calc(100% - 36px),var(--max));margin:auto;padding:52px 0 110px}.diagnostic-query{border:1px solid var(--line);background:#080f1dd1;grid-template-columns:1fr auto;align-items:end;gap:12px;padding:22px;display:grid}.diagnostic-query label{color:#8192aa;letter-spacing:.08em;gap:8px;font:10px ui-monospace,monospace;display:grid}.diagnostic-query input{color:#eef5ff;background:#050b15;border:1px solid #44ddff38;outline:none;padding:14px 15px;font:14px ui-monospace,monospace}.diagnostic-query input:focus{border-color:var(--cyan)}.diagnostic-query button{border:1px solid var(--cyan);background:var(--cyan);color:#031019;letter-spacing:.08em;cursor:pointer;padding:14px 18px;font:800 10px ui-monospace,monospace}.diagnostic-query button:disabled{opacity:.45;cursor:wait}.diagnostic-hint{color:#65758c;margin:11px 0 22px;font-size:.85rem}.diagnostic-hint code{color:var(--cyan)}.diag-loading,.diag-error,.diag-ok{border:1px solid var(--line);margin-bottom:16px;padding:13px 15px;font:11px ui-monospace,monospace}.diag-loading{color:#9cb0c7}.diag-ok{color:var(--green);background:#76f7b10b;border-color:#76f7b140}.diag-error{color:#ff8798;background:#ff61770d;border-color:#ff61774d}.diag-overview{border:1px solid var(--line);background:#080f1dcc;grid-template-columns:2fr repeat(4,1fr);margin-bottom:18px;display:grid}.diag-overview>div{border-right:1px solid var(--line);min-width:0;padding:17px}.diag-overview>div:last-child{border-right:0}.diag-overview span,.diag-columns span{letter-spacing:.08em;color:#66778f;margin-bottom:7px;font:9px ui-monospace,monospace;display:block}.diag-overview strong{word-break:break-word;font:700 13px ui-monospace,monospace;display:block}.diagnostic-results{gap:12px;display:grid}.diag-card{border:1px solid var(--line);background:linear-gradient(#091222eb,#050b16d6);padding:23px;position:relative}.diag-card:before{content:"";background:#506079;width:3px;position:absolute;top:-1px;bottom:-1px;left:-1px}.diag-card.state-pass:before{background:var(--green)}.diag-card.state-warn:before{background:#ffc94f}.diag-card.state-fail:before{background:#ff6177}.diag-card.state-info:before{background:var(--cyan)}.diag-card header{justify-content:space-between;align-items:start;gap:20px;display:flex}.diag-card header span{color:var(--cyan);letter-spacing:.08em;font:9px ui-monospace,monospace}.diag-card header h2{margin:.3rem 0;font-size:1.35rem}.diag-card header b{border:1px solid;padding:7px 9px;font:800 9px ui-monospace,monospace}.diag-message{color:#afbdd0}.diag-columns{background:#7ae1ff14;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:18px;display:grid}.diag-columns>div{background:#07101e;padding:15px}.diag-columns p{color:#8fa0b8;margin:0;font-size:.9rem;line-height:1.55}.raw-panel{border:1px solid var(--line);background:#050b15;margin-top:18px}.raw-panel summary{cursor:pointer;color:#8fa0b8;padding:15px 17px;font:800 10px ui-monospace,monospace}.raw-panel pre{border-top:1px solid var(--line);color:#9fb2ca;max-height:520px;margin:0;padding:18px;font:11px/1.6 ui-monospace,monospace;overflow:auto}@media (width<=900px){.diagnostic-query{grid-template-columns:1fr}.diag-overview{grid-template-columns:repeat(2,1fr)}.diag-overview>div{border-bottom:1px solid var(--line)}.diag-columns{grid-template-columns:1fr}}@media (width<=620px){.diag-overview{grid-template-columns:1fr}.diag-card{padding:18px}.diag-card header{display:grid}}.exposure-notice{background:#ffc94f0b;border:1px solid #ffc94f47;margin-bottom:16px;padding:18px 20px}.exposure-notice strong{color:#ffc94f;letter-spacing:.09em;font:800 10px ui-monospace,monospace}.exposure-notice p{color:#9babbd;margin:.6rem 0 0;line-height:1.55}.authorize-check{color:#8fa0b6;align-items:flex-start;gap:9px;margin:13px 0;font-size:.86rem;display:flex}.authorize-check input{accent-color:var(--cyan);margin-top:2px}.exposure-section-title{margin:34px 0 15px}.exposure-section-title span{color:var(--cyan);letter-spacing:.09em;font:10px ui-monospace,monospace}.exposure-section-title h2{letter-spacing:-.04em;margin:.35rem 0;font-size:clamp(1.6rem,3vw,2.5rem)}.review-list{gap:9px;display:grid}.review-list>div{background:#ffc94f09;border:1px solid #ffc94f2e;grid-template-columns:90px 1fr;gap:14px;padding:14px 16px;display:grid}.review-list b{color:#ffc94f;font:800 11px ui-monospace,monospace}.review-list p{color:#9ba9ba;margin:0;line-height:1.5}.ports-table-wrap{border:1px solid var(--line);overflow:auto}.ports-table{border-collapse:collapse;background:#07101e;width:100%}.ports-table th,.ports-table td{text-align:left;border-bottom:1px solid #ffffff0e;padding:13px 14px}.ports-table th{color:#66778f;letter-spacing:.08em;font:800 9px ui-monospace,monospace}.ports-table td{color:#9faec1;font-size:.9rem}.ports-table td:first-child{color:var(--cyan);font:800 12px ui-monospace,monospace}.port-open{color:var(--green);border:1px solid #76f7b140;padding:5px 7px;font:800 9px ui-monospace,monospace}.scan-disclaimer{color:#687a91;font-size:.82rem;line-height:1.5}.compact-checks{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.compact-checks a{border:1px solid var(--line);background:#080f1dbf;min-height:120px;padding:15px}.compact-checks span{color:var(--cyan);font:800 9px ui-monospace,monospace}.compact-checks b{float:right;font:800 9px ui-monospace,monospace}.compact-checks p{clear:both;color:#8d9caf;margin:18px 0 0;font-size:.84rem;line-height:1.45}@media (width<=900px){.compact-checks{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.review-list>div,.compact-checks,.exposure-overview{grid-template-columns:1fr}}.verification-panel{background:#44ddff09;border:1px solid #44ddff2e;margin:15px 0;padding:18px 20px}.verification-panel>div:first-child>span{color:var(--cyan);letter-spacing:.09em;font:800 9px ui-monospace,monospace;display:block}.verification-panel>div:first-child>strong{margin:.35rem 0;font-size:1rem;display:block}.verification-panel p{color:#8fa0b6;margin:.5rem 0;line-height:1.5}.verification-actions{gap:8px;margin:14px 0;display:flex}.secondary-action{color:var(--cyan);letter-spacing:.06em;cursor:pointer;background:0 0;border:1px solid #44ddff4d;padding:10px 12px;font:800 10px ui-monospace,monospace}.secondary-action:hover{background:#44ddff12}.verification-record{gap:7px;display:grid}.verification-record>div{border-top:1px solid #ffffff0d;grid-template-columns:70px 1fr;gap:10px;padding:9px 0;display:grid}.verification-record span{color:#6d7f98;font:800 9px ui-monospace,monospace}.verification-record code{color:#d9f7ff;word-break:break-all}.verification-note{font-size:.8rem}@media (width<=620px){.verification-actions{display:grid}.verification-record>div{grid-template-columns:1fr}}.tool-shell{z-index:1;width:min(calc(100% - 36px),var(--max));gap:16px;margin:auto;padding:52px 0 110px;display:grid;position:relative}.tool-grid{grid-template-columns:1fr 1.1fr;gap:16px;display:grid}.tool-panel{border:1px solid var(--line);background:linear-gradient(#081120f0,#050a14e0);min-width:0;padding:26px}.tool-panel-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:20px;display:flex}.tool-panel h2{letter-spacing:-.04em;margin:.35rem 0 0;font-size:clamp(1.6rem,3vw,2.4rem)}.section-code{color:var(--cyan);letter-spacing:.1em;font:10px ui-monospace,monospace}.trace-command-grid{gap:10px;margin:0 0 24px;display:grid}.trace-command{background:#030a14b8;border:1px solid #43ddff1f;grid-template-columns:125px 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.trace-command span{color:#8294ab;letter-spacing:.08em;font:9px ui-monospace,monospace}.trace-command code{color:var(--cyan);word-break:break-all;font:700 12px/1.5 ui-monospace,monospace}.copy-command{color:var(--cyan);cursor:pointer;background:0 0;border:1px solid #43ddff47;padding:8px 9px;font:700 9px ui-monospace,monospace}.trace-label{color:#8fa0b8;letter-spacing:.08em;margin:18px 0 8px;font:700 10px ui-monospace,monospace;display:block}.trace-input{resize:vertical;color:#dcecff;background:#030914;border:1px solid #43ddff2e;outline:none;width:100%;min-height:260px;padding:16px;font:12px/1.65 ui-monospace,monospace}.trace-input:focus{border-color:#43ddff85}.trace-actions{flex-wrap:wrap;gap:9px;margin-top:12px;display:flex}.tool-note{color:#6f8198;margin:16px 0 0;font-size:.84rem;line-height:1.55}.trace-status{color:var(--green);white-space:nowrap;border:1px solid #74efad33;padding:7px 9px;font:700 10px ui-monospace,monospace}.trace-map{z-index:1;background:#06101f;border:1px solid #43ddff29;height:535px;position:relative}.trace-map .leaflet-popup-content-wrapper,.trace-map .leaflet-popup-tip{color:#dcecff;background:#071222}.trace-map .leaflet-popup-content{font:12px/1.5 ui-monospace,monospace}.trace-legend{color:#73859c;flex-wrap:wrap;gap:18px;margin-top:12px;font:10px ui-monospace,monospace;display:flex}.trace-legend span{align-items:center;gap:7px;display:flex}.trace-legend i{border-radius:50%;width:8px;height:8px;display:inline-block}.legend-public{background:var(--cyan);box-shadow:0 0 9px #43ddff80}.legend-private{background:#56657a}.trace-table-wrap{overflow:auto}.trace-table{border-collapse:collapse;width:100%}.trace-table th,.trace-table td{text-align:left;border-bottom:1px solid #ffffff0f;padding:12px 13px}.trace-table th{color:#70839a;letter-spacing:.06em;font:700 10px ui-monospace,monospace}.trace-table td{color:#97a7ba;font-size:.9rem}.trace-table code{color:var(--cyan)}.trace-empty{text-align:center;color:#62738a;padding:35px}.trace-flow{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.trace-flow>div{background:#040b159e;border:1px solid #43ddff1f;padding:18px}.trace-flow b{color:#43ddff38;font:900 2rem ui-monospace,monospace;display:block}.trace-flow span{color:var(--cyan);margin:9px 0 7px;font:700 12px ui-monospace,monospace;display:block}.trace-flow small{color:#8797ad;line-height:1.5}.diagnostic-launch{padding:30px}.diagnostic-form{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.diagnostic-input-wrap label{color:#8395ac;letter-spacing:.07em;margin-bottom:8px;font:700 10px ui-monospace,monospace;display:block}.diagnostic-input{color:#eaf6ff;background:#030914;border:1px solid #43ddff33;outline:none;width:100%;height:48px;padding:0 15px;font:14px ui-monospace,monospace}.diagnostic-input:focus{border-color:#43ddff9e}.diagnostic-form .btn{cursor:pointer;height:48px}.diagnostic-form .btn:disabled{opacity:.55;cursor:wait}.diagnostic-guard{background:#74efad0a;border-left:2px solid #74efad8c;grid-template-columns:100px 1fr;gap:12px;margin-top:16px;padding:13px 15px;display:grid}.diagnostic-guard span{color:var(--green);letter-spacing:.07em;font:700 10px ui-monospace,monospace}.diagnostic-guard p{color:#7d8ea5;margin:0;font-size:.84rem;line-height:1.55}.diagnostic-guard code{color:#a7bed4}.diagnostic-grid{grid-template-columns:repeat(2,1fr);gap:15px;display:grid}.diagnostic-grid .diag-card{padding:0;overflow:hidden}.diagnostic-grid .diag-card:before{display:none}.diagnostic-grid .diag-card header{border-bottom:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:18px 20px;display:grid}.diag-step{color:#43ddff38;font:900 1.5rem ui-monospace,monospace}.diagnostic-grid .diag-card header small{color:var(--cyan);letter-spacing:.08em;font:700 9px ui-monospace,monospace}.diagnostic-grid .diag-card header h3{margin:3px 0 0;font-size:1rem}.diag-state{white-space:nowrap;border:1px solid #ffffff1a;padding:6px 8px;font:700 9px ui-monospace,monospace}.diag-state.state-idle{color:#6f8197}.diag-state.state-running{color:#ffc94f;border-color:#ffc94f47}.diag-state.state-ok{color:var(--green);border-color:#74efad42}.diag-state.state-warn{color:#ffc94f;border-color:#ffc94f47}.diag-state.state-error{color:var(--red);border-color:#ff70854d}.diag-state.state-manual{color:var(--cyan);border-color:#43ddff40}.diag-body{color:#8394aa;min-height:118px;padding:19px 20px;font-size:.9rem;line-height:1.55}.diag-pairs{display:grid}.diag-pairs>div{border-bottom:1px solid #ffffff0d;grid-template-columns:110px 1fr;gap:12px;padding:7px 0;display:grid}.diag-pairs span{color:#62748b;font:10px ui-monospace,monospace}.diag-pairs strong{color:#b8c8d9;word-break:break-word;font-weight:500}.diag-note{margin:0;line-height:1.6}.diag-actions{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.diag-actions a,.diag-actions button{color:var(--cyan);cursor:pointer;background:#43ddff0d;border:1px solid #43ddff40;padding:9px 10px;font:700 9px ui-monospace,monospace}.diagnostic-commands{gap:8px;display:grid}.diagnostic-command{background:#030912b8;border:1px solid #43ddff1c;grid-template-columns:125px 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.diagnostic-command span{color:#75879d;font:700 9px ui-monospace,monospace}.diagnostic-command code{color:#bfeef6;word-break:break-word;font:12px/1.5 ui-monospace,monospace}.diagnostic-flow{grid-template-columns:repeat(3,1fr)}@media (width<=980px){.tool-grid,.diagnostic-grid{grid-template-columns:1fr}.trace-map{height:430px}.trace-flow{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.trace-command,.diagnostic-form,.diagnostic-command{grid-template-columns:1fr}.trace-map{height:360px}.trace-flow,.diagnostic-flow{grid-template-columns:1fr}.tool-panel{padding:19px}.tool-panel-head{flex-direction:column}.diagnostic-guard,.diag-pairs>div{grid-template-columns:1fr}.diagnostic-grid .diag-card header{grid-template-columns:auto 1fr}.diag-state{grid-column:1/-1;width:max-content}}.topbar{grid-template-columns:1fr auto auto;gap:24px;height:72px}.badge{border-color:var(--amber);width:38px;height:38px;color:var(--amber);font-family:IBM Plex Mono,ui-monospace,monospace}.brand strong{letter-spacing:.04em;font-family:IBM Plex Sans Condensed,IBM Plex Sans,sans-serif}.brand small{color:#777a74;letter-spacing:.08em}.topbar nav{gap:20px}.topbar nav a,.online{font-family:IBM Plex Mono,ui-monospace,monospace}.topbar nav a:hover{color:var(--amber)}.online i{background:var(--acid);box-shadow:0 0 12px #c7ff46a6}.header-action{color:var(--amber);letter-spacing:.06em;border:1px solid #ff9f1c52;justify-self:end;padding:9px 11px;font:700 9px IBM Plex Mono,ui-monospace,monospace}.portal-shell{z-index:1;width:min(calc(100% - 36px),var(--max));margin:auto;padding:58px 0 110px;position:relative}.portal-intro{border-bottom:1px solid var(--line);grid-template-columns:1.45fr .55fr;align-items:end;gap:55px;padding:34px 0 38px;display:grid}.portal-kicker{color:var(--amber);letter-spacing:.12em;margin-bottom:18px;font:700 10px IBM Plex Mono,ui-monospace,monospace;display:block}.portal-intro h1{letter-spacing:-.055em;max-width:900px;margin:0;font-family:IBM Plex Sans Condensed,IBM Plex Sans,sans-serif;font-size:clamp(3.2rem,6.2vw,6.3rem);line-height:.88}.portal-intro h1 em{color:var(--amber);font-style:normal}.portal-intro p{color:#a4a69f;max-width:790px;margin:22px 0 0;font-size:1.02rem;line-height:1.7}.portal-metrics{border:1px solid var(--line);background:#0e1012;grid-template-columns:repeat(2,1fr);display:grid}.portal-metrics div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:82px;padding:16px}.portal-metrics div:nth-child(2n){border-right:0}.portal-metrics div:nth-last-child(-n+2){border-bottom:0}.portal-metrics span{color:#6f726c;letter-spacing:.08em;margin-bottom:9px;font:700 9px IBM Plex Mono,ui-monospace,monospace;display:block}.portal-metrics strong{color:#f1eee7;font:700 1.3rem IBM Plex Mono,ui-monospace,monospace}.portal-metrics div:last-child strong{color:var(--acid);font-size:.78rem}.tool-finder{background:#101214;border:1px solid #ff9f1c42;grid-template-columns:56px 1fr auto;align-items:center;margin:28px 0 14px;display:grid}.finder-mark{border-right:1px solid var(--line);height:100%;color:var(--amber);place-items:center;font:700 1.7rem IBM Plex Mono,monospace;display:grid}.finder-input{padding:12px 16px}.finder-input label{color:#747872;letter-spacing:.12em;margin-bottom:5px;font:700 8px IBM Plex Mono,monospace;display:block}.finder-input input{color:#f1eee7;background:0 0;border:0;outline:none;width:100%;padding:2px 0;font:500 16px IBM Plex Mono,ui-monospace,monospace}.finder-input input::placeholder{color:#555952}.finder-primary{background:var(--amber);color:#15120d;letter-spacing:.06em;align-self:stretch;place-items:center;padding:0 20px;font:800 10px IBM Plex Mono,monospace;display:grid}.category-tabs{flex-wrap:wrap;gap:8px;margin-bottom:42px;display:flex}.category-tabs a{color:#8e918b;letter-spacing:.07em;background:#101214;border:1px solid #ffffff14;padding:9px 12px;font:700 9px IBM Plex Mono,monospace}.category-tabs a:hover{color:var(--amber);border-color:#ff9f1c61}.tool-directory{gap:48px;display:grid}.tool-category{scroll-margin-top:86px}.tool-category-head{grid-template-columns:1fr 1fr;align-items:end;gap:30px;margin-bottom:14px;display:grid}.tool-category-head>div{align-items:baseline;gap:14px;display:flex}.tool-category-head span{color:var(--amber);font:700 10px IBM Plex Mono,monospace}.tool-category-head h2{letter-spacing:-.025em;margin:0;font-family:IBM Plex Sans Condensed,IBM Plex Sans,sans-serif;font-size:2rem}.tool-category-head p{color:#7e827b;text-align:right;justify-self:end;max-width:470px;margin:0;font-size:.9rem}.portal-tool-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.portal-tool{background:#111315;border:1px solid #ffffff13;flex-direction:column;min-height:210px;padding:18px;transition:transform .16s,border-color .16s,background .16s;display:flex;position:relative;overflow:hidden}.portal-tool:after{content:"";border:1px solid #ff9f1c14;width:150px;height:150px;position:absolute;inset:auto -50px -75px auto;transform:rotate(32deg)}.tool-meta{justify-content:space-between;align-items:center;display:flex}.tool-meta span{color:var(--amber);letter-spacing:.08em;font:800 9px IBM Plex Mono,monospace}.tool-meta b{letter-spacing:.08em;color:#777b75;font:800 8px IBM Plex Mono,monospace}.tool-next{opacity:.62}.portal-tool>strong{margin:34px 0 9px;font-family:IBM Plex Sans Condensed,IBM Plex Sans,sans-serif;font-size:1.35rem}.portal-tool p{color:#8a8e87;margin:0 0 18px;font-size:.88rem;line-height:1.5}.portal-tool small{color:#646862;letter-spacing:.09em;margin-top:auto;font:700 8px IBM Plex Mono,monospace}a.portal-tool small{color:var(--amber)}.tool-empty{text-align:center;color:#777b75;border:1px dashed #ff9f1c40;padding:35px;font:12px IBM Plex Mono,monospace}.workspace{border-top:1px solid var(--line);margin-top:0;padding-top:75px}.panel{background:#111315;border-color:#ffffff14}.panel:target{border-color:#ff9f1c80}.panel input,.panel textarea{background:#0b0d0f;border-color:#ff9f1c26}button{border-color:var(--amber);background:var(--amber);color:#16120d}.btn.primary{background:var(--amber);color:#16120d}.terminal{background:#0e1012;border-color:#ff9f1c33}.inner-hero h1 span,.hero h1 span{background:linear-gradient(90deg,var(--amber),var(--violet));-webkit-background-clip:text;background-clip:text}footer b{color:var(--amber)}@media (width<=1080px){.portal-tool-grid{grid-template-columns:repeat(3,1fr)}.portal-intro{grid-template-columns:1fr}.portal-metrics{max-width:560px}.topbar nav{display:none}}@media (width<=760px){.portal-tool-grid{grid-template-columns:repeat(2,1fr)}.tool-finder{grid-template-columns:44px 1fr}.finder-primary{grid-column:1/-1;min-height:44px}.tool-category-head{grid-template-columns:1fr}.tool-category-head p{text-align:left;justify-self:start}.portal-intro{padding-top:18px}}@media (width<=520px){.portal-tool-grid,.portal-metrics{grid-template-columns:1fr}.portal-metrics div{border-right:0}.portal-metrics div:nth-last-child(-n+2){border-bottom:1px solid var(--line)}.portal-metrics div:last-child{border-bottom:0}}.dns-lookup-query{grid-template-columns:minmax(0,1fr) 150px auto}.diagnostic-query select{color:#f1eee7;background:#0b0d0f;border:1px solid #ff9f1c38;outline:none;height:47px;padding:0 13px;font:13px IBM Plex Mono,ui-monospace,monospace}.diagnostic-query select:focus{border-color:var(--amber)}.dns-result-wrap{margin-top:18px}.dns-result-wrap code{color:#f2c37d;white-space:normal;word-break:break-word}.dns-overview{grid-template-columns:2fr 2fr repeat(3,1fr)}@media (width<=900px){.dns-lookup-query{grid-template-columns:1fr}.dns-overview{grid-template-columns:1fr 1fr}}@media (width<=620px){.dns-overview{grid-template-columns:1fr}}.my-ip-shell{gap:16px;display:grid}.my-ip-panel{gap:14px;display:grid}.my-ip-primary{background:linear-gradient(135deg,#111315,#15120e);border:1px solid #ff9f1c47;padding:30px}.my-ip-primary>span{color:#7c8079;letter-spacing:.1em;font:800 9px IBM Plex Mono,ui-monospace,monospace;display:block}.my-ip-primary>strong{color:var(--amber);letter-spacing:-.05em;word-break:break-all;margin:12px 0 20px;font:700 clamp(2rem,5vw,4.8rem)/1 IBM Plex Mono,ui-monospace,monospace;display:block}.my-ip-actions{flex-wrap:wrap;gap:8px;display:flex}.my-ip-actions button{cursor:pointer}.my-ip-actions .secondary{color:var(--amber);background:0 0}.my-ip-overview{grid-template-columns:repeat(4,1fr)}@media (width<=900px){.my-ip-overview{grid-template-columns:repeat(2,1fr)}}@media (width<=620px){.my-ip-overview{grid-template-columns:1fr}.my-ip-primary{padding:20px}}.tls-inspector-shell{gap:16px;display:grid}.tls-overview{grid-template-columns:repeat(6,1fr)}.tls-cert-card{background:#111315;border:1px solid #ff9f1c33}.tls-cert-card header{border-bottom:1px solid #ffffff0f;justify-content:space-between;gap:18px;padding:16px 18px;display:flex}.tls-cert-card header span{color:var(--amber);letter-spacing:.08em;font:800 9px IBM Plex Mono,ui-monospace,monospace}.tls-cert-card header b{font:800 9px IBM Plex Mono,ui-monospace,monospace}.tls-cert-card .diag-pairs{padding:12px 18px 17px}.tls-chain-section{margin-top:8px}.tls-chain{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.tls-chain-card{background:#111315;border:1px solid #ffffff14;min-width:0;padding:16px}.tls-chain-card>div{gap:8px;display:grid}.tls-chain-card span{color:var(--amber);letter-spacing:.08em;font:800 8px IBM Plex Mono,monospace}.tls-chain-card b{word-break:break-word;font-size:.92rem}.tls-chain-card p{color:#898d86;font-size:.82rem;line-height:1.5}.tls-chain-card code{color:#c5a574;word-break:break-all;font-size:.72rem;display:block}@media (width<=1050px){.tls-overview{grid-template-columns:repeat(3,1fr)}.tls-chain{grid-template-columns:1fr 1fr}}@media (width<=680px){.tls-overview,.tls-chain{grid-template-columns:1fr}}.port-check-shell{gap:16px;display:grid}.port-check-query{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr) auto}.port-presets{flex-wrap:wrap;gap:8px;display:flex}.port-presets button{min-width:120px;color:var(--text);cursor:pointer;text-align:left;background:#111315;border:1px solid #ff9f1c2e;gap:4px;padding:10px 12px;display:grid}.port-presets button:hover{border-color:#ff9f1c80}.port-presets small{color:#777b75;font:8px IBM Plex Mono,monospace}.port-check-overview{grid-template-columns:2fr 2fr repeat(4,1fr)}.port-check-results{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.port-result{background:#111315;border:1px solid #ffffff14;grid-template-columns:1fr auto;gap:8px;min-height:132px;padding:16px;display:grid}.port-result>div{display:grid}.port-result>div span{color:#777b75;font:800 8px IBM Plex Mono,monospace}.port-result>div strong{color:var(--amber);font:700 1.8rem IBM Plex Mono,monospace}.port-result>b{font:800 9px IBM Plex Mono,monospace}.port-result>small{color:#70746e;grid-column:1/-1;font:9px IBM Plex Mono,monospace}.port-result>p{color:#7d817a;word-break:break-word;grid-column:1/-1;margin:0;font-size:.76rem;line-height:1.45}.port-open{border-color:#85ef9b42}.port-open>b{color:var(--green)}.port-closed>b{color:#9fa39b}.port-timeout>b,.port-restricted>b{color:#ffc94f}.port-error>b{color:var(--red)}@media (width<=980px){.port-check-query{grid-template-columns:1fr}.port-check-overview,.port-check-results{grid-template-columns:repeat(2,1fr)}}@media (width<=580px){.port-check-overview,.port-check-results{grid-template-columns:1fr}}.http-surface-shell{gap:16px;display:grid}.http-surface-query{grid-template-columns:minmax(0,1fr) 140px auto}.http-overview{grid-template-columns:repeat(6,1fr)}.http-check-grid{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.http-check{background:#111315;border:1px solid #ffffff14;min-height:155px;padding:15px}.http-check>div{justify-content:space-between;gap:10px;display:flex}.http-check span,.http-check b{letter-spacing:.08em;font:800 8px IBM Plex Mono,monospace}.http-check span{color:var(--amber)}.http-check p{color:#8d9189;font-size:.82rem;line-height:1.5}.http-check code{color:#c4a779;word-break:break-word;font-size:.7rem;display:block}.check-pass{border-color:#85ef9b38}.check-pass b{color:var(--green)}.check-warn b{color:#ffc94f}.check-info b{color:#9b9f98}.http-header-list{background:#111315;border:1px solid #ffffff14;display:grid}.http-header-list>div{border-bottom:1px solid #ffffff0d;grid-template-columns:210px 1fr;gap:15px;padding:11px 14px;display:grid}.http-header-list>div:last-child{border-bottom:0}.http-header-list span{color:#767a73;font:800 9px IBM Plex Mono,monospace}.http-header-list code{color:#d5c5a8;word-break:break-word}@media (width<=1100px){.http-check-grid,.http-overview{grid-template-columns:repeat(3,1fr)}}@media (width<=760px){.http-surface-query{grid-template-columns:1fr}.http-check-grid{grid-template-columns:1fr 1fr}.http-header-list>div{grid-template-columns:1fr}.http-overview{grid-template-columns:1fr 1fr}}@media (width<=520px){.http-check-grid,.http-overview{grid-template-columns:1fr}}.ct-shell{gap:16px;display:grid}.ct-notice{margin-bottom:0}.ct-overview{grid-template-columns:2fr repeat(4,1fr)}.ct-title-actions{justify-content:space-between;align-items:end;gap:18px;display:flex}.ct-title-actions>div{min-width:0}.ct-name-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.ct-name-grid code{color:#d9bd8e;word-break:break-all;background:#111315;border:1px solid #ffffff12;padding:10px 12px;font-size:.78rem}.ct-table td:nth-child(4),.ct-table td:nth-child(5){word-break:break-word;max-width:360px}@media (width<=980px){.ct-overview{grid-template-columns:repeat(2,1fr)}.ct-name-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.ct-overview,.ct-name-grid{grid-template-columns:1fr}.ct-title-actions{flex-direction:column;align-items:flex-start}}.hash-shell,.url-codec-shell{gap:16px;display:grid}.hash-source-tabs{gap:8px;display:flex}.hash-source-tabs button{color:#8c9089;cursor:pointer;background:#111315;border:1px solid #ffffff14;padding:10px 14px}.hash-source-tabs button.active{color:var(--amber);border-color:#ff9f1c73}.hash-file-input{color:#d6d3cb;background:#0d0f11;border:1px dashed #ff9f1c47;width:100%;padding:20px}.hash-file-meta{color:#7a7e77;margin-top:10px;font:10px IBM Plex Mono,monospace}.hash-controls{grid-template-columns:220px auto;align-items:end;gap:10px;display:grid}.hash-controls label{color:#81857e;letter-spacing:.08em;font:800 9px IBM Plex Mono,monospace}.hash-controls select{color:#f1eee7;background:#0b0d0f;border:1px solid #ff9f1c33;width:100%;height:46px;margin-top:7px;padding:0 12px;display:block}.hash-controls button{height:46px}.hash-output{color:#f1c276;word-break:break-all;background:#0b0d0f;border:1px solid #ff9f1c29;padding:16px;font-size:.9rem;display:block}.hash-verify{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:16px;display:grid}.hash-verify label{color:#81857e;font:800 9px IBM Plex Mono,monospace}.hash-verify input{color:#f1eee7;background:#0b0d0f;border:1px solid #ff9f1c29;width:100%;height:44px;margin-top:7px;padding:0 12px;font-family:IBM Plex Mono,monospace;display:block}.url-codec-shell{grid-template-columns:1fr 1fr}.url-inspect-output{margin-top:16px}.url-param-list{border:1px solid #ffffff12;margin-top:14px;display:grid}.url-param-list>div{border-bottom:1px solid #ffffff0d;grid-template-columns:1fr auto 1fr;gap:10px;padding:10px 12px;display:grid}.url-param-list>div:last-child{border-bottom:0}.url-param-list code{color:#d2b47f;word-break:break-all}.url-param-list span{color:#6e726c}@media (width<=850px){.url-codec-shell,.hash-controls,.hash-verify{grid-template-columns:1fr}}.dns-guide-list{display:grid}.dns-guide-row{border-bottom:1px solid #ffffff0e;grid-template-columns:54px 1fr;gap:12px;padding:13px 0;display:grid}.dns-guide-row:last-child{border-bottom:0}.dns-guide-type{color:var(--amber);letter-spacing:.08em;padding-top:3px;font:800 9px IBM Plex Mono,ui-monospace,monospace}.dns-guide-main{grid-template-columns:minmax(0,1.1fr) minmax(190px,.9fr);gap:15px;min-width:0;display:grid}.dns-guide-values{align-content:start;gap:6px;min-width:0;display:grid}.dns-guide-values code{color:#c6d1dc;word-break:break-word;grid-template-columns:22px 1fr;gap:7px;font:500 11px/1.55 IBM Plex Mono,ui-monospace,monospace;display:grid}.dns-guide-values code i{color:#5f6b78;font-style:normal}.dns-guide-values small{color:#6f7672;font:8px IBM Plex Mono,monospace}.dns-guide-values .dns-empty{color:#777d78;font-style:italic}.dns-guide-help{border-left:1px solid #ff9f1c33;min-width:0;padding-left:13px}.dns-guide-help>b{color:#727871;letter-spacing:.08em;margin-bottom:6px;font:800 8px IBM Plex Mono,monospace;display:block}.dns-guide-help p{color:#8e958f;margin:0;font-size:.76rem;line-height:1.48}.dns-txt-help{gap:10px;display:grid}.dns-txt-insight{gap:5px;display:grid}.dns-help-badge{letter-spacing:.06em;border:1px solid #ffffff17;width:max-content;max-width:100%;padding:3px 6px;font:800 7px IBM Plex Mono,monospace}.dns-help-ok{color:var(--green);border-color:#85ef9b38}.dns-help-warn{color:#ffc94f;border-color:#ffc94f40}.dns-help-info{color:#9ba19a}@media (width<=1100px){.dns-guide-main{grid-template-columns:1fr}.dns-guide-help{border-top:1px solid #ff9f1c24;border-left:0;padding:9px 0 0}}@media (width<=620px){.dns-guide-row{grid-template-columns:1fr}.dns-guide-type{padding-top:0}.dns-guide-main{grid-template-columns:1fr}}.port-result{grid-template-columns:1fr auto;align-content:start}.port-service{grid-column:1/-1;align-items:baseline;grid-template-columns:70px 1fr!important;gap:8px!important;display:grid!important}.port-service span{color:#737871!important;font:800 8px IBM Plex Mono,monospace!important}.port-service strong{color:#e8e3d9!important;font:700 .85rem IBM Plex Mono,monospace!important}.port-risk{letter-spacing:.06em;border:1px solid #ffffff1a;grid-column:1/-1;width:max-content;padding:4px 7px;font:800 8px IBM Plex Mono,monospace}.port-description{color:#8e938b!important;grid-column:1/-1!important;margin:2px 0 0!important;font-size:.77rem!important;line-height:1.45!important}.port-detail{grid-column:1/-1!important}.port-open.risk-critical{border-color:#ff646480;box-shadow:inset 3px 0 #ff6464a6}.port-open.risk-critical .port-risk{color:var(--red);border-color:#ff646459}.port-open.risk-high{border-color:#ffc94f59;box-shadow:inset 3px 0 #ffc94f80}.port-open.risk-high .port-risk{color:#ffc94f;border-color:#ffc94f4d}.port-open.risk-medium .port-risk{color:var(--amber);border-color:#ff9f1c4d}.port-open.risk-info .port-risk{color:var(--green);border-color:#85ef9b40}.trace-actions a.btn{place-items:center;text-decoration:none;display:inline-grid}.dns-enum-grid,.dns-host-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.dns-enum-card{background:#111315;border:1px solid #ffffff14;min-width:0;padding:14px}.dns-enum-card>span{color:var(--amber);letter-spacing:.07em;margin-bottom:10px;font:800 8px IBM Plex Mono,monospace;display:block}.dns-enum-card>div{gap:5px;display:grid}.dns-enum-card code{color:#c7cfc5;word-break:break-word;font:11px/1.45 IBM Plex Mono,monospace}.dns-enum-card p{color:#858b83;margin:10px 0 0;font-size:.76rem;line-height:1.45}@media (width<=980px){.dns-enum-grid,.dns-host-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.dns-enum-grid,.dns-host-grid{grid-template-columns:1fr}}.tls-assessment{background:#0f1113;border:1px solid #ff9f1c2e}.tls-assessment-head{border-bottom:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:18px;padding:17px 18px;display:flex}.tls-assessment-head span{color:var(--amber);letter-spacing:.08em;font:800 8px IBM Plex Mono,monospace}.tls-assessment-head h2{margin:4px 0 0;font:700 1.35rem IBM Plex Sans Condensed,IBM Plex Sans,sans-serif}.tls-overall{letter-spacing:.07em;white-space:nowrap;border:1px solid #ffffff1a;padding:6px 9px;font:800 8px IBM Plex Mono,monospace}.tls-overall-pass{color:var(--green);border-color:#85ef9b47}.tls-overall-info{color:#b8c0b7;border-color:#b8c0b733}.tls-overall-warn{color:#ffc94f;border-color:#ffc94f4d}.tls-overall-fail{color:var(--red);border-color:#ff646459}.tls-check-grid{grid-template-columns:repeat(3,1fr);gap:10px;padding:12px;display:grid}.tls-check{background:#111315;border:1px solid #ffffff12;min-height:145px;padding:14px}.tls-check>div{justify-content:space-between;gap:8px;display:flex}.tls-check>div span,.tls-check>div b{letter-spacing:.07em;font:800 8px IBM Plex Mono,monospace}.tls-check>div span{color:var(--amber)}.tls-check>strong{margin:14px 0 7px;font-size:.92rem;display:block}.tls-check p{color:#8f958e;margin:0;font-size:.78rem;line-height:1.5}.tls-check-pass{border-color:#85ef9b29}.tls-check-pass>div b{color:var(--green)}.tls-check-info>div b{color:#a8afa7}.tls-check-warn{border-color:#ffc94f38}.tls-check-warn>div b{color:#ffc94f}.tls-check-fail{border-color:#ff64644d;box-shadow:inset 3px 0 #ff646480}.tls-check-fail>div b{color:var(--red)}@media (width<=950px){.tls-check-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.tls-check-grid{grid-template-columns:1fr}.tls-assessment-head{flex-direction:column;align-items:flex-start}}.cert-surface-shell{gap:16px;display:grid}.cert-surface-overview{grid-template-columns:2fr repeat(4,1fr)}.cert-title-actions{justify-content:space-between;align-items:end;gap:18px;display:flex}.cert-title-actions>div{min-width:0}.cert-name-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.cert-name-grid a{background:#111315;border:1px solid #ffffff12;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:grid}.cert-name-grid a:hover{border-color:#ff9f1c66}.cert-name-grid code{color:#d8bd8f;word-break:break-all;font:11px IBM Plex Mono,monospace}.cert-name-grid span{color:var(--amber);white-space:nowrap;font:800 8px IBM Plex Mono,monospace}.cert-history-table td:nth-child(4),.cert-history-table td:nth-child(5){word-break:break-word;max-width:360px}@media (width<=980px){.cert-surface-overview{grid-template-columns:repeat(2,1fr)}.cert-name-grid{grid-template-columns:1fr 1fr}}@media (width<=620px){.cert-surface-overview,.cert-name-grid{grid-template-columns:1fr}.cert-title-actions{flex-direction:column;align-items:flex-start}}.analytics-consent{z-index:1000;background:#0c0e10fa;border:1px solid #ff9f1c59;grid-template-columns:1fr auto;align-items:center;gap:18px;width:min(100% - 32px,900px);padding:16px 18px;display:grid;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 18px 70px #00000073}.analytics-consent[hidden]{display:none}.analytics-consent strong{color:var(--amber);letter-spacing:.08em;font:800 8px IBM Plex Mono,monospace;display:block}.analytics-consent p{color:#9da19a;margin:7px 0 0;font-size:.82rem;line-height:1.5}.analytics-consent-actions{gap:8px;display:flex}.analytics-consent-actions button{white-space:nowrap;min-height:42px}.header-action-short{display:none}@media (width<=760px){:root{--max:100%}body{overflow-x:hidden}.topbar,.portal-shell,.inner-hero,.diagnostic-shell,.tool-shell,.workspace,.hero,.tool-index,footer{width:calc(100% - 24px)}.topbar{grid-template-columns:minmax(0,1fr) auto;gap:10px;height:72px}.topbar nav{display:none}.brand{gap:9px;min-width:0}.badge{flex:0 0 36px;width:36px;height:36px}.brand strong{font-size:.9rem}.brand small{font-size:8px}.header-action{place-items:center;min-height:40px;padding:8px 10px;display:grid}.portal-shell{padding:28px 0 72px}.portal-intro{gap:24px;padding:22px 0 26px}.portal-intro h1{font-size:clamp(2.7rem,13.5vw,4.4rem);line-height:.9}.portal-intro p{font-size:.94rem;line-height:1.58}.portal-metrics{width:100%;max-width:none}.tool-finder{grid-template-columns:40px minmax(0,1fr);margin-top:20px}.finder-input{min-width:0;padding:10px 12px}.finder-input input{font-size:16px}.category-tabs{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:6px;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tabs a{white-space:nowrap;place-items:center;min-height:40px;display:grid}.portal-tool-grid{grid-template-columns:1fr 1fr}.portal-tool{min-height:175px;padding:15px}.portal-tool>strong{margin-top:24px}.inner-hero{padding:52px 0 34px}.inner-hero h1{overflow-wrap:anywhere;margin:.3rem 0 1rem;font-size:clamp(2.8rem,15vw,4.7rem);line-height:.86}.inner-hero p{font-size:.92rem;line-height:1.58}.diagnostic-shell,.tool-shell{padding:30px 0 72px}.diagnostic-query,.tool-panel,.panel{padding:16px}.diagnostic-query input,.diagnostic-query select,.panel input,.panel textarea,.trace-input{font-size:16px}button,.btn,.copy-command,.secondary-action{min-height:44px}.trace-command{grid-template-columns:1fr;align-items:stretch}.trace-command code{font-size:11px}.trace-command .copy-command{width:100%}.trace-input{min-height:190px}.trace-map{min-height:320px}.tool-grid{grid-template-columns:1fr}.tool-panel-head{gap:10px}.ports-table,.trace-table{min-width:720px}.raw-panel pre{max-height:400px;font-size:10px}.diagnostic-commands{overflow:hidden}.diagnostic-command{grid-template-columns:1fr}.diagnostic-command code{word-break:break-all}footer{gap:8px;padding:30px 0}footer small{line-height:1.4}.analytics-consent{grid-template-columns:1fr;width:calc(100% - 20px);padding:14px;bottom:10px}.analytics-consent-actions{grid-template-columns:1fr 1fr;display:grid}}@media (width<=520px){.header-action-wide{display:none}.header-action-short{display:inline}.brand small{display:none}.portal-tool-grid{grid-template-columns:1fr}.portal-metrics{grid-template-columns:1fr 1fr}.portal-metrics div{min-height:70px}.tool-category-head h2{font-size:1.7rem}.analytics-consent-actions{grid-template-columns:1fr}}@media (width<=380px){.topbar{width:calc(100% - 16px)}.badge{flex-basis:32px;width:32px;height:32px}.brand strong{font-size:.82rem}.portal-intro h1{font-size:2.55rem}}.diag-inline-stack{gap:12px;display:grid}.diag-inline-block{background:#0e1114;border:1px solid #ffffff12;padding:13px}.diag-inline-block>b{color:var(--amber);letter-spacing:.08em;margin-bottom:10px;font:800 8px IBM Plex Mono,monospace;display:block}.diag-service-list{gap:8px;display:grid}.diag-service-row{background:#0e1114;border:1px solid #ffffff12;grid-template-columns:70px 1fr 1fr 1fr;align-items:start;gap:10px;padding:11px 12px;display:grid}.diag-service-row>div span{color:#6f756f;letter-spacing:.06em;font:800 7px IBM Plex Mono,monospace;display:block}.diag-service-row>div strong{word-break:break-word;margin-top:4px;font:700 11px IBM Plex Mono,monospace;display:block}.diag-service-row>p{color:#8e958e;grid-column:1/-1;margin:2px 0 0;font-size:.76rem;line-height:1.45}.diag-service-row.risk-critical{border-color:#ff646459;box-shadow:inset 3px 0 #ff64648c}.diag-service-row.risk-high{border-color:#ffc94f47;box-shadow:inset 3px 0 #ffc94f73}.diag-service-row.risk-medium{border-color:#ff9f1c3d}.diag-service-row.risk-info{border-color:#85ef9b29}.diag-trace-workflow{gap:11px;display:grid}.diag-trace-input{resize:vertical;color:#e9e6df;background:#090c0f;border:1px solid #ff9f1c2e;outline:none;width:100%;min-height:145px;padding:12px;font:11px/1.55 IBM Plex Mono,monospace}.diag-trace-input:focus{border-color:#ff9f1c80}.diag-trace-table{min-width:620px}@media (width<=760px){.diag-service-row{grid-template-columns:1fr 1fr}.diag-trace-input{font-size:16px}}@media (width<=480px){.diag-service-row{grid-template-columns:1fr}.diag-service-row>p{grid-column:1}}.turnstile-gate{background:#0f1113;border:1px solid #ff9f1c2e;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:14px 16px;display:grid}.turnstile-gate span{color:var(--amber);letter-spacing:.08em;font:800 8px IBM Plex Mono,monospace}.turnstile-gate p{color:#8d938c;margin:6px 0 0;font-size:.78rem;line-height:1.45}.turnstile-gate.compact{margin:12px 0}@media (width<=720px){.turnstile-gate{grid-template-columns:1fr;align-items:start}}.attack-shell{gap:16px;display:grid}.attack-overview{grid-template-columns:repeat(6,1fr)}.attack-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.attack-grid .tool-panel{margin:0}.attack-wide{grid-column:1/-1}.attack-content{gap:12px;display:grid}.attack-statline{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.attack-statline>div{background:#0e1114;border:1px solid #ffffff12;min-width:0;padding:11px}.attack-statline span{color:#747a73;letter-spacing:.06em;font:800 7px IBM Plex Mono,monospace;display:block}.attack-statline strong{word-break:break-word;margin-top:6px;font:700 12px IBM Plex Mono,monospace;display:block}.attack-findings{grid-template-columns:1fr 1fr;gap:8px;display:grid}.attack-finding{background:#101315;border:1px solid #ffffff12;padding:12px}.attack-finding>div{justify-content:space-between;gap:8px;display:flex}.attack-finding>div span,.attack-finding>div b{font:800 8px IBM Plex Mono,monospace}.attack-finding>strong{margin:10px 0 5px;display:block}.attack-finding p{color:#8d938c;margin:0;font-size:.77rem;line-height:1.45}.attack-finding.state-fail{border-color:#ff64644d}.attack-finding.state-fail>div b{color:var(--red)}.attack-finding.state-warn{border-color:#ffc94f3d}.attack-finding.state-warn>div b{color:#ffc94f}.attack-port-controls{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:12px;display:grid}.attack-port-controls label{color:#7f857e;gap:6px;font:800 8px IBM Plex Mono,monospace;display:grid}.attack-port-controls input{color:#e6e1d6;background:#090c0f;border:1px solid #ff9f1c2e;min-height:44px;padding:10px 12px;font:12px IBM Plex Mono,monospace}.attack-port-summary{flex-wrap:wrap;gap:8px;display:flex}.attack-port-summary span{color:#858b84;border:1px solid #ffffff14;padding:7px 9px;font:800 8px IBM Plex Mono,monospace}.attack-port-summary strong{color:#e8e3d9}.mini-link{color:var(--amber);white-space:nowrap;font:800 8px IBM Plex Mono,monospace;text-decoration:none}@media (width<=1050px){.attack-overview{grid-template-columns:repeat(3,1fr)}}@media (width<=820px){.attack-grid{grid-template-columns:1fr}.attack-wide{grid-column:1}.attack-findings{grid-template-columns:1fr}.attack-statline{grid-template-columns:1fr 1fr}}@media (width<=620px){.attack-overview{grid-template-columns:1fr 1fr}.attack-port-controls{grid-template-columns:1fr}.attack-port-controls button{width:100%}.attack-statline{grid-template-columns:1fr}}.passive-sub-overview{grid-template-columns:repeat(4,1fr)}.passive-sub-table td{vertical-align:top;word-break:break-word;max-width:330px}.mail-header-input{min-height:300px}.mail-auth-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.mail-auth-grid>div{background:#0e1114;border:1px solid #ffffff12;min-width:0;padding:11px}.mail-auth-grid span{color:#737a72;letter-spacing:.06em;font:800 7px IBM Plex Mono,monospace;display:block}.mail-auth-grid strong{word-break:break-word;margin-top:6px;font:700 11px/1.45 IBM Plex Mono,monospace;display:block}.mail-route-table{min-width:900px}@media (width<=720px){.passive-sub-overview{grid-template-columns:1fr 1fr}.mail-auth-grid{grid-template-columns:1fr}}.attack-report-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.attack-report-actions[hidden]{display:none}.attack-report-actions button{min-height:40px}@media print{.topbar,.analytics-consent,.turnstile-gate,.attack-port-controls,.authorize-check,.attack-report-actions,footer{display:none!important}body{color:#111!important;background:#fff!important}.grid-bg{display:none!important}.inner-hero,.diagnostic-shell,.tool-panel,.diag-overview,.attack-finding,.diag-service-row{color:#111!important;box-shadow:none!important;background:#fff!important;border-color:#ccc!important}.inner-hero span,.section-code,.eyebrow,.mini-link{color:#555!important}.tool-panel,.attack-wide{break-inside:avoid}}:root{--bg:#0a0d10;--surface:#11161c;--surface-raised:#171d24;--surface-input:#0c1116;--text:#f4f7f8;--muted:#a6b0ba;--muted-strong:#c0c8cf;--accent:#ffa52f;--accent-strong:#ff7a30;--info:#57c7ff;--success:#6ee7a8;--warning:#ffd166;--danger:#ff6b78;--border-subtle:#29333e;--border-control:#5b6b7b;--focus:#ffd166;--cyan:var(--accent);--amber:var(--accent);--violet:var(--accent-strong);--acid:#b8f36b;--green:var(--success);--red:var(--danger);--line:#ffa52f2e;--header-height:88px}html{scroll-padding-top:calc(var(--header-height) + 58px)}body{background:linear-gradient(180deg,var(--bg) 0%,#0c1014 48%,#080b0e 100%);color:var(--text);color-scheme:dark}::selection{background:var(--accent);color:#111318}.skip-link{z-index:2000;background:var(--focus);color:#111318;border:2px solid #111318;padding:10px 14px;font:800 .75rem IBM Plex Mono,ui-monospace,monospace;position:fixed;top:10px;left:12px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;box-shadow:none!important}main:focus{outline:none}.topbar{z-index:100;-webkit-backdrop-filter:blur(14px);border-bottom-color:var(--border-subtle);background:#0a0d10eb;position:sticky;top:0}.brand small{color:var(--muted);font-size:.6875rem}.badge{border-color:var(--accent);color:var(--accent);background:#ffa52f0a}.desktop-nav{align-items:center;gap:6px;display:flex}.desktop-nav a{min-height:44px;color:var(--muted);border-bottom:2px solid #0000;place-items:center;padding:0 10px;font-size:.6875rem;display:grid}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--text);border-bottom-color:var(--accent)}.header-tools{justify-self:end;align-items:center;gap:8px;display:flex}.header-action{border:1px solid var(--accent);background:var(--accent);color:#121417;letter-spacing:.06em;place-items:center;min-height:44px;padding:0 14px;font:800 .6875rem IBM Plex Mono,ui-monospace,monospace;display:grid}.mobile-menu{display:none;position:relative}.mobile-menu summary{cursor:pointer;border:1px solid var(--border-control);background:var(--surface);min-width:76px;min-height:44px;color:var(--text);letter-spacing:.06em;justify-content:center;align-items:center;gap:9px;font:800 .6875rem IBM Plex Mono,ui-monospace,monospace;list-style:none;display:flex}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary i{border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);width:9px;height:9px;transform:rotate(45deg)translateY(-2px)}.mobile-menu[open] summary i{transform:rotate(225deg)translate(-1px,-1px)}.mobile-menu nav{border:1px solid var(--border-control);background:#0d1217;width:min(86vw,320px);padding:8px;position:absolute;top:calc(100% + 9px);right:0;box-shadow:0 22px 60px #0000007a;display:grid!important}.mobile-menu nav a{min-height:46px;color:var(--muted-strong);border-left:3px solid #0000;align-items:center;padding:0 12px;font:700 .75rem IBM Plex Mono,ui-monospace,monospace;display:flex}.mobile-menu nav a:hover,.mobile-menu nav a:focus-visible,.mobile-menu nav a[aria-current=page]{color:var(--text);background:var(--surface-raised);border-left-color:var(--accent)}.mobile-menu nav .mobile-menu-diagnostic{color:var(--accent);background:#ffa52f14;margin-top:6px}.portal-shell,.inner-hero,.diagnostic-shell,.tool-shell,.workspace,.hero,.tool-index,footer{z-index:1;position:relative}.portal-intro p,.inner-hero p,.portal-tool p,.tool-category-head p,.diagnostic-hint,.tool-note,.diag-note{color:var(--muted)}.portal-metrics,.tool-finder,.portal-tool,.tool-panel,.panel,.diag-card,.diagnostic-query{background:var(--surface);border-color:var(--border-subtle)}.portal-tool{box-shadow:inset 0 1px #ffffff06}a.portal-tool:hover{background:var(--surface-raised);border-color:#ffa52f9e;transform:translateY(-2px)}a.portal-tool:focus-visible{border-color:var(--focus)}.portal-tool>strong{color:var(--text)}.portal-tool small,.tool-meta span,.portal-kicker,.section-code,.eyebrow{color:var(--accent)}.tool-online .tool-meta b{color:var(--success)}.tool-lab .tool-meta b{color:var(--warning)}.state-pass{color:var(--success)!important}.state-warn{color:var(--warning)!important}.state-fail{color:var(--danger)!important}.state-info{color:var(--info)!important}.category-tabs{top:var(--header-height);z-index:50;border-bottom:1px solid var(--border-subtle);background:linear-gradient(#0a0d10fa,#0a0d10eb);margin:0 0 42px;padding:10px 0;position:sticky}.category-tabs a{border-color:var(--border-subtle);background:var(--surface);min-height:42px;color:var(--muted-strong);place-items:center;font-size:.6875rem;display:grid}.category-tabs a:hover{border-color:var(--accent);color:var(--text);background:var(--surface-raised)}.finder-input label,.tool-meta span,.tool-meta b,.portal-tool small,.diag-overview span,.diag-state,.copy-command{font-size:.6875rem}.finder-input label{color:var(--muted-strong)}.finder-input label kbd{border:1px solid var(--border-control);background:var(--surface-raised);color:var(--muted-strong);font:inherit;border-radius:3px;margin-left:6px;padding:1px 5px}.finder-status{color:var(--muted);margin-top:5px;font:.6875rem IBM Plex Mono,ui-monospace,monospace;display:block}.finder-input input::placeholder{color:#7f8993;opacity:1}input,textarea,select,.diagnostic-query input,.diagnostic-input,.trace-input,.attack-port-controls input{color:var(--text)!important;background:var(--surface-input)!important;border-color:var(--border-control)!important}input::placeholder,textarea::placeholder{color:#7f8993;opacity:1}button,.btn,.finder-primary{min-height:44px}button:disabled{opacity:.55}button.secondary,.secondary-action,.copy-command{color:var(--accent);border-color:var(--border-control);background:0 0}a{text-underline-offset:.2em}footer a{text-decoration:underline}p a,.tool-note a,.diag-note a{text-decoration:underline 1px}p a:hover,.tool-note a:hover,.diag-note a:hover{color:var(--accent)}@media (width<=1080px){.desktop-nav{display:none!important}.mobile-menu{display:block}}@media (width<=760px){:root{--header-height:72px}.topbar{grid-template-columns:minmax(0,1fr) auto}.header-tools{gap:6px}.header-action{padding:0 10px}.category-tabs{scrollbar-width:none;flex-wrap:nowrap;margin-left:-12px;margin-right:-12px;padding:9px 12px;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tabs a{white-space:nowrap;flex:none}.portal-intro h1{font-size:clamp(2.8rem,13vw,4.6rem)}.portal-tool{min-height:190px}}@media (width<=520px){.mobile-menu summary{min-width:66px}.header-action{display:none}.portal-tool-grid{grid-template-columns:1fr}.portal-tool{min-height:170px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-contrast:more){:root{--border-subtle:#5b6b7b}.portal-tool,.tool-panel,.panel,.diag-card,.diagnostic-query,.category-tabs a{border-color:var(--border-control)}}@media (forced-colors:active){.grid-bg,.portal-tool:after{display:none}.header-action,.finder-primary,button{forced-color-adjust:auto}}.guide-promo,.guide-index-shell,.guide-shell{z-index:1;width:min(calc(100% - 36px),var(--max));margin:auto;position:relative}.guide-promo{padding:10px 0 90px}.guide-promo-head{justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px;display:flex}.guide-promo-head span{color:var(--accent);letter-spacing:.08em;font:800 .7rem IBM Plex Mono,monospace}.guide-promo-head h2{margin:.35rem 0 0;font-size:clamp(1.7rem,3vw,2.7rem)}.guide-promo-head>a{color:var(--accent);font:800 .7rem IBM Plex Mono,monospace}.guide-promo-grid,.guide-index-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.guide-promo-grid>a,.guide-index-card{border:1px solid var(--border-subtle);background:var(--surface);flex-direction:column;min-height:170px;padding:18px;display:flex}.guide-promo-grid>a:hover,.guide-index-card:hover{border-color:var(--accent);background:var(--surface-raised)}.guide-promo-grid span,.guide-index-card>span{color:var(--accent);font:800 .7rem IBM Plex Mono,monospace}.guide-promo-grid strong,.guide-index-card>strong{margin:22px 0 8px;font-size:1.15rem}.guide-promo-grid small,.guide-index-card p{color:var(--muted);line-height:1.5}.guide-index-shell{padding:52px 0 110px}.guide-index-card small{color:var(--accent);margin-top:auto;font:800 .68rem IBM Plex Mono,monospace}.guide-shell{padding:38px 0 110px}.guide-breadcrumb{color:var(--muted);flex-wrap:wrap;gap:8px;margin-bottom:42px;font:.72rem IBM Plex Mono,monospace;display:flex}.guide-breadcrumb a{text-decoration:underline}.guide-hero{border-bottom:1px solid var(--border-subtle);max-width:930px;padding-bottom:44px}.guide-kicker{color:var(--accent);letter-spacing:.1em;font:800 .72rem IBM Plex Mono,monospace}.guide-hero h1{letter-spacing:-.05em;margin:.35em 0 .25em;font-size:clamp(2.7rem,6vw,5.5rem);line-height:.95}.guide-hero>p{color:var(--muted-strong);max-width:820px;font-size:1.12rem;line-height:1.7}.guide-meta{color:var(--muted);flex-wrap:wrap;gap:18px;margin:20px 0;font:.72rem IBM Plex Mono,monospace;display:flex}.guide-tool-cta{background:var(--accent);color:#131517;place-items:center;min-height:46px;padding:0 16px;font:800 .72rem IBM Plex Mono,monospace;display:inline-grid}.guide-layout{grid-template-columns:220px minmax(0,760px);align-items:start;gap:64px;padding-top:48px;display:grid}.guide-toc{border-left:2px solid var(--border-control);padding-left:16px;position:sticky;top:150px}.guide-toc>strong{color:var(--accent);font:800 .68rem IBM Plex Mono,monospace}.guide-toc ul{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.guide-toc a{color:var(--muted-strong);font-size:.84rem;line-height:1.35;text-decoration:underline}.guide-content{min-width:0}.guide-content section{margin-bottom:54px;scroll-margin-top:150px}.guide-content h2{margin:0 0 18px;font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.15}.guide-content p,.guide-content li,.guide-content dd{color:var(--muted-strong);font-size:1rem;line-height:1.75}.guide-content a{color:var(--info);text-decoration:underline}.guide-content code{color:#ffd28a;font-family:IBM Plex Mono,monospace}.guide-content pre{border:1px solid var(--border-subtle);color:#e7edf1;background:#070b0f;padding:18px;font:13px/1.7 IBM Plex Mono,monospace;overflow:auto}.guide-content ul{padding-left:1.3rem}.guide-content li+li{margin-top:8px}.guide-callout{border-left:3px solid var(--warning);background:#ffd1660e;margin:24px 0;padding:18px}.guide-callout strong{color:var(--warning);font:800 .72rem IBM Plex Mono,monospace}.guide-callout p{margin:.55rem 0 0}.guide-defs{gap:10px;display:grid}.guide-defs>div{border:1px solid var(--border-subtle);background:var(--surface);padding:15px}.guide-defs dt{color:var(--accent);font:800 .75rem IBM Plex Mono,monospace}.guide-defs dd{margin:.45rem 0 0}.guide-end{border:1px solid var(--border-subtle);background:var(--surface);margin:30px 0 0;padding:25px}.guide-end>strong{color:var(--accent);font:800 .72rem IBM Plex Mono,monospace}.guide-end p{color:var(--muted-strong)}.guide-end a{color:var(--accent);margin:8px 14px 0 0;font:800 .7rem IBM Plex Mono,monospace;display:inline-block}@media (width<=900px){.guide-promo-grid,.guide-index-grid{grid-template-columns:repeat(2,1fr)}.guide-layout{grid-template-columns:1fr;gap:26px}.guide-toc{border-left:0;border:1px solid var(--border-subtle);padding:16px;position:static}}@media (width<=620px){.guide-promo-grid,.guide-index-grid{grid-template-columns:1fr}.guide-promo-head{display:grid}.guide-shell{padding-top:24px}.guide-hero h1{font-size:clamp(2.5rem,12vw,4rem)}}.guide-index-intro{border-left:3px solid var(--accent);background:var(--surface);max-width:850px;margin:0 0 32px;padding:22px}.guide-index-intro h2{margin:0 0 10px;font-size:1.6rem}.guide-index-intro p{color:var(--muted-strong);margin:.65rem 0;line-height:1.7}.related-guide{z-index:1;width:min(calc(100% - 36px),var(--max));border:1px solid var(--border-subtle);border-left:3px solid var(--info);background:var(--surface);justify-content:space-between;align-items:center;gap:24px;margin:-72px auto 90px;padding:20px 22px;display:flex;position:relative}.related-guide span{color:var(--info);letter-spacing:.08em;font:800 .68rem IBM Plex Mono,monospace;display:block}.related-guide strong{margin:7px 0;font-size:1.05rem;display:block}.related-guide p{color:var(--muted);margin:0;font-size:.9rem;line-height:1.5}.related-guide>a{border:1px solid var(--info);min-height:44px;color:var(--info);flex:none;place-items:center;padding:0 14px;font:800 .7rem IBM Plex Mono,monospace;display:grid}@media (width<=720px){.related-guide{margin-top:-74px;display:grid}.related-guide>a{width:100%}}
