.tool-page{padding:120px 0 80px}.tool-page .wrap{max-width:900px}.tool-breadcrumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:11.5px;letter-spacing:.03em;color:var(--ink-faint);margin-bottom:26px}.tool-breadcrumb a{color:var(--ink-faint);text-decoration:none;transition:color .2s}.tool-breadcrumb a:hover{color:var(--ink)}.tool-breadcrumb span[aria-current]{color:var(--ink-dim)}.tool-header{margin-bottom:34px}.tool-header h1{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(30px,4.4vw,46px);line-height:1.1;letter-spacing:-.01em;margin:18px 0 16px}.tool-tagline{font-size:17px;line-height:1.65;color:var(--ink-dim);max-width:640px}.tool-privacy-note{display:flex;align-items:center;gap:9px;margin-top:16px;font-family:JetBrains Mono,monospace;font-size:11.5px;letter-spacing:.03em;color:var(--phosphor)}.tool-privacy-note .sw{width:6px;height:6px;border-radius:50%;background:var(--phosphor);flex:0 0 auto}.tool-runner{margin-bottom:56px}.tool-form{background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:22px;margin-bottom:22px}.tool-form-row{display:flex;gap:10px;flex-wrap:wrap}.tool-form-row input[type=text]{flex:1 1 260px;min-width:0;height:48px;background:var(--void);border:1px solid var(--line-strong);border-radius:3px;color:var(--ink);font-family:JetBrains Mono,monospace;font-size:14px;padding:0 15px;outline:none;transition:border-color .2s}.tool-form-row input[type=text]::placeholder{color:var(--ink-faint)}.tool-form-row input[type=text]:focus{border-color:var(--ink-dim)}.tool-form-row input[aria-invalid=true]{border-color:var(--red)}.tool-form-row .btn{height:48px;flex:0 0 auto}.tool-form-row .btn:disabled{opacity:.55;cursor:wait}.tool-form-hint{margin-top:12px;font-size:11.5px;letter-spacing:.02em;color:var(--ink-faint)}.tool-form-hint,.tool-textarea{font-family:JetBrains Mono,monospace;line-height:1.6}.tool-textarea{width:100%;min-height:170px;resize:vertical;background:var(--void);border:1px solid var(--line-strong);border-radius:3px;color:var(--ink);font-size:13px;padding:14px 15px;outline:none;transition:border-color .2s}.tool-textarea:focus{border-color:var(--ink-dim)}.tool-textarea::placeholder{color:var(--ink-faint)}.tool-form-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.tool-loading{display:flex;align-items:center;gap:12px;padding:16px 18px;border:1px solid var(--line);border-radius:4px;background:var(--panel);font-family:JetBrains Mono,monospace;font-size:12.5px;color:var(--ink-dim)}.tool-loading-bar{width:56px;height:3px;border-radius:2px;background:var(--line-strong);position:relative;overflow:hidden;flex:0 0 auto}.tool-loading-bar:after{content:"";position:absolute;inset:0;width:40%;border-radius:2px;background:#ff5a48;animation:toolScan 1.1s ease-in-out infinite}@keyframes toolScan{0%{transform:translateX(-100%)}to{transform:translateX(250%)}}.tool-error{padding:15px 18px;border:1px solid var(--red);border-radius:4px;background:color-mix(in srgb,var(--red) 8%,transparent);color:var(--red);font-size:14px;line-height:1.6}.tool-report{margin-top:26px}.report-verdict{gap:22px;flex-wrap:wrap;padding:24px;border:1px solid var(--line);background:var(--panel);margin-bottom:18px}.grade-badge,.report-verdict{display:flex;align-items:center;border-radius:4px}.grade-badge{flex-direction:column;justify-content:center;width:84px;height:84px;flex:0 0 auto;border:1px solid}.grade-letter{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:38px;line-height:1}.grade-score{font-family:JetBrains Mono,monospace;font-size:10.5px;margin-top:5px;opacity:.85}.grade-A{color:var(--phosphor);background:color-mix(in srgb,var(--phosphor) 10%,transparent)}.grade-B{color:var(--teal);background:color-mix(in srgb,var(--teal) 10%,transparent)}.grade-C{color:var(--amber);background:color-mix(in srgb,var(--amber) 10%,transparent)}.grade-D{color:#ff5a48;background:color-mix(in srgb,#ff5a48 10%,transparent)}.grade-F{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.report-verdict-text{flex:1 1 260px;min-width:0}.report-target{font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.02em;color:var(--ink-faint);margin-bottom:8px;word-break:break-all}.report-verdict-text p{font-size:16px;line-height:1.6;color:var(--ink)}.report-notes{list-style:none;margin-bottom:18px;display:flex;flex-direction:column;gap:7px}.report-notes li{font-family:JetBrains Mono,monospace;font-size:11.5px;line-height:1.6;color:var(--ink-faint);padding-left:16px;position:relative}.report-notes li:before{content:"//";position:absolute;left:0;opacity:.6}.finding-list{list-style:none;display:flex;flex-direction:column;gap:12px}.tool-finding{border:1px solid var(--line);border-left:2px solid var(--line-strong);border-radius:4px;background:var(--panel);padding:18px 20px}.tool-finding-critical{border-left-color:var(--red)}.tool-finding-high{border-left-color:#ff5a48}.tool-finding-medium{border-left-color:var(--amber)}.tool-finding-low{border-left-color:var(--teal)}.tool-finding-info{border-left-color:var(--ink-faint)}.tool-finding-pass{border-left-color:var(--phosphor)}.finding-head{display:flex;align-items:center;gap:11px;flex-wrap:wrap;margin-bottom:9px}.finding-head h3{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:16px;line-height:1.35;letter-spacing:-.005em}.sev-pill{font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:4px 8px;border-radius:2px;flex:0 0 auto;border:1px solid}.sev-critical{color:var(--red)}.sev-high{color:#ff5a48}.sev-medium{color:var(--amber)}.sev-low{color:var(--teal)}.sev-info{color:var(--ink-faint)}.sev-pass{color:var(--phosphor)}.finding-detail{font-size:14.5px;line-height:1.7;color:var(--ink-dim)}.finding-evidence{margin-top:12px;padding:12px 14px;border-radius:3px;background:var(--void);border:1px solid var(--line);font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.6;color:var(--ink-dim);overflow-x:auto;white-space:pre-wrap;word-break:break-all}.finding-fix{margin-top:12px;font-size:14px;line-height:1.7;color:var(--ink);display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}.finding-fix-label{font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--phosphor);border:1px solid var(--phosphor);padding:3px 7px;border-radius:2px;flex:0 0 auto}.report-passes{margin-top:16px}.report-passes>summary{cursor:pointer;list-style:none;padding:13px 18px;border:1px solid var(--line);border-radius:4px;background:var(--panel);font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.03em;color:var(--ink-dim);transition:color .2s,border-color .2s}.report-passes>summary::-webkit-details-marker{display:none}.report-passes>summary:before{content:"+ ";color:var(--phosphor)}.report-passes[open]>summary:before{content:"\2212 "}.report-passes>summary:hover{color:var(--ink);border-color:var(--line-strong)}.report-passes .finding-list{margin-top:12px}.tool-table-wrap{overflow-x:auto;margin-bottom:18px}.tool-table{width:100%;border-collapse:collapse;font-size:13.5px}.tool-table td,.tool-table th{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}.tool-table thead th{font-family:JetBrains Mono,monospace;font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-weight:400}.tool-table td{color:var(--ink-dim)}.tool-table td code,.tool-table th code{font-family:JetBrains Mono,monospace;font-size:12px;color:var(--ink);word-break:break-all}.tool-output{border:1px solid var(--line);border-radius:4px;background:var(--panel);padding:18px 20px;margin-top:18px}.tool-output-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex-wrap:wrap}.tool-output-head h3{font-family:JetBrains Mono,monospace;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-weight:400}.tool-output pre{background:var(--void);border:1px solid var(--line);padding:14px;overflow-x:auto;font-size:12.5px;line-height:1.7;color:var(--ink);white-space:pre-wrap;word-break:break-all}.copy-btn,.tool-output pre{border-radius:3px;font-family:JetBrains Mono,monospace}.copy-btn{font-size:11px;letter-spacing:.05em;text-transform:uppercase;padding:7px 12px;cursor:pointer;border:1px solid var(--line-strong);background:transparent;color:var(--ink-dim);transition:all .2s}.copy-btn:hover{color:var(--ink);border-color:var(--ink-dim)}.copy-btn.copied{color:var(--phosphor);border-color:var(--phosphor)}.tool-content{margin-bottom:56px;padding-top:44px;border-top:1px solid var(--line)}.tool-content h2{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:clamp(22px,2.6vw,28px);line-height:1.25;letter-spacing:-.01em;margin:40px 0 16px}.tool-content h2:first-child{margin-top:0}.tool-content h3{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:17px;line-height:1.4;margin:26px 0 10px}.tool-content p{font-size:15.5px;line-height:1.75;color:var(--ink-dim);margin-bottom:16px}.tool-content ol,.tool-content ul{margin:0 0 18px 20px}.tool-content li{font-size:15.5px;line-height:1.75;color:var(--ink-dim);margin-bottom:9px}.tool-content code{font-size:13px;border:1px solid var(--line);border-radius:2px;padding:1px 5px;word-break:break-word}.tool-content code,.tool-content pre{font-family:JetBrains Mono,monospace;color:var(--ink);background:var(--panel)}.tool-content pre{border:1px solid var(--line);border-radius:4px;padding:16px;overflow-x:auto;margin-bottom:18px;font-size:12.5px;line-height:1.7}.tool-content pre code{background:none;border:none;padding:0}.tool-content a{color:#ff5a48;text-decoration:none}.tool-content a:hover{text-decoration:underline}.tool-faq{margin-bottom:56px}.tool-faq h2,.tool-related h2{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:clamp(22px,2.6vw,28px);line-height:1.25;margin-bottom:22px}.tool-related{margin-bottom:20px}.tool-related-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.tool-card{display:block;padding:20px;border:1px solid var(--line);border-radius:4px;background:var(--panel);text-decoration:none;transition:border-color .2s,transform .2s}.tool-card:hover{border-color:var(--line-strong);transform:translateY(-2px)}.tool-card h3{font-family:Space Grotesk,sans-serif;font-weight:600;font-size:16px;color:var(--ink);margin-bottom:9px}.tool-card p{font-size:13.5px;line-height:1.6;color:var(--ink-dim);margin-bottom:14px}.tool-card-go{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.04em;color:#ff5a48}.tool-cta{border-top:1px solid var(--line);background:var(--panel);padding:72px 32px;text-align:center}.tool-cta-inner{max-width:680px;margin:0 auto}.tool-cta .eyebrow{justify-content:center}.tool-cta h2{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(26px,3.4vw,36px);line-height:1.15;letter-spacing:-.01em;margin:18px 0 16px}.tool-cta p{font-size:16px;line-height:1.7;color:var(--ink-dim);margin-bottom:28px}.tool-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.tools-hub{padding:120px 0 80px}.tools-hub-head{max-width:680px;margin-bottom:52px}.tools-hub-head h1{font-family:Space Grotesk,sans-serif;font-weight:700;font-size:clamp(32px,5vw,50px);line-height:1.08;letter-spacing:-.01em;margin:18px 0}.tools-hub-head p{font-size:17px;line-height:1.7;color:var(--ink-dim)}.tools-group{margin-bottom:48px}.tools-group h2{font-family:JetBrains Mono,monospace;font-size:11.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);font-weight:400;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:20px}.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.tool-card-badge{display:inline-block;margin-bottom:11px;font-family:JetBrains Mono,monospace;font-size:10px;text-transform:uppercase;letter-spacing:.08em;padding:3px 7px;border-radius:2px;border:1px solid var(--line-strong);color:var(--ink-faint)}.tool-card-badge.in-browser{color:var(--phosphor);border-color:var(--phosphor)}@media (max-width:900px){.tool-page,.tools-hub{padding-top:96px}.tool-related-grid,.tools-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.tool-related-grid,.tools-grid{grid-template-columns:1fr}.tool-form{padding:16px}.tool-form-row input[type=text]{flex:1 1 100%}.tool-form-row .btn{width:100%;justify-content:center}.report-verdict{gap:16px}}