.nav-current { color: var(--teal-deep) !important; background: var(--cream); }
.sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.tools-hero { border-bottom:1px solid var(--line); background:var(--paper); }
.tools-hero-grid { display:grid; gap:32px; padding-top:56px; padding-bottom:48px; }
.tools-hero h1 { margin-top:16px; font-family:var(--font-display); font-size:clamp(2.8rem,1.5rem + 4vw,4.7rem); line-height:1.02; letter-spacing:-.035em; }
.tools-hero .lede { max-width:44rem; color:var(--muted); }
@media(min-width:900px){ .tools-hero-grid{grid-template-columns:1.55fr .7fr;align-items:end;padding-top:72px;padding-bottom:56px}.privacy-note{margin-bottom:4px} }
.privacy-note { display:flex; gap:14px; padding:18px; border:1px solid var(--line); border-radius:var(--radius-xl); background:var(--cream); }
.privacy-note strong { display:block; font-size:14px; color:var(--ink-soft); }
.privacy-note p { margin-top:4px; font-size:12px; line-height:1.55; color:var(--muted); }
.tools-section { padding-top:56px; }
.tools-alt { background:var(--cream); border-block:1px solid var(--line); }
.compact-head { max-width:46rem; margin-bottom:28px; }
.compact-head h2 { margin-top:10px; font-family:var(--font-display); font-size:var(--text-section); letter-spacing:-.03em; line-height:1.08; }
.compact-head .muted { margin-top:12px; }
.tool-grid { display:grid; gap:16px; }
@media(min-width:760px){ .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-grid-featured{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-wide{grid-row:span 1} }
@media(min-width:1080px){ .tool-grid-featured{grid-template-columns:repeat(4,minmax(0,1fr))}.speed-card{grid-column:span 2}.weather-card{grid-column:span 1}.tool-grid:not(.tool-grid-featured){grid-template-columns:1.35fr .65fr} }
.tool-card { display:flex; flex-direction:column; gap:20px; min-width:0; padding:22px; border-radius:var(--radius-xl); background:var(--paper); box-shadow:var(--shadow-card); }
.tools-section .tool-card { background:var(--cream); }
.tool-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.tool-num { font-family:var(--font-display); font-size:15px; color:var(--faint); }
.tool-kicker { font-size:11px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--teal); }
.tool-card h3 { margin-top:5px; font-family:var(--font-display); font-size:1.65rem; line-height:1.08; letter-spacing:-.025em; }
.tool-copy { margin-top:9px; color:var(--muted); font-size:14px; line-height:1.6; }
.data-list { margin:0; border-top:1px solid var(--line); }
.data-list div { display:grid; grid-template-columns:minmax(95px,.9fr) 1.25fr; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); font-size:13px; }
.data-list dt { color:var(--muted); }
.data-list dd { margin:0; text-align:right; font-weight:500; overflow-wrap:anywhere; }
.fine-print { margin-top:auto; font-size:11px; line-height:1.5; color:var(--faint); }
.speed-display { display:grid; grid-template-columns:1fr 1fr; gap:12px; padding:18px 0; border-block:1px solid var(--line); }
.speed-display>div { min-width:0; }
.speed-display>div+div { border-left:1px solid var(--line); padding-left:20px; }
.big-number { font-family:var(--font-display); font-size:3.25rem; line-height:1; letter-spacing:-.04em; }
.big-number.small { font-size:2.2rem; }
.unit,.degree { margin-left:4px; color:var(--muted); font-size:13px; }
.speed-display small { display:block; margin-top:7px; color:var(--faint); font-size:11px; text-transform:uppercase; letter-spacing:.12em; }
.tool-actions { display:flex; align-items:center; gap:14px; margin-top:auto; }
.status-text { font-size:12px; color:var(--muted); }
.weather-now { display:flex; align-items:center; gap:10px; padding:13px 0 4px; }
.weather-now .degree { align-self:flex-start; margin-top:5px; font-size:20px; }
.weather-now>div { margin-left:4px; min-width:0; }
.weather-now strong { display:block; font-size:14px; }
.weather-now p { margin-top:2px; font-size:12px; }
.weather-meta { display:flex; flex-wrap:wrap; gap:14px; margin-top:auto; padding-top:12px; border-top:1px solid var(--line); font-size:11px; color:var(--muted); }
.inline-tool-form,.stack-tool-form { margin:0; }
.inline-tool-form { display:flex; flex-direction:column; gap:10px; }
@media(min-width:540px){ .inline-tool-form{flex-direction:row}.inline-tool-form input{flex:1} }
.stack-tool-form { display:flex; flex-direction:column; gap:7px; }
.stack-tool-form label { margin-top:4px; }
.input-action { display:flex; gap:8px; }
.input-action input { min-width:0; flex:1; }
select { height:44px; border:0; border-radius:var(--radius-md); padding:0 14px; background:var(--cream); color:var(--ink); font:inherit; font-size:14px; box-shadow:var(--shadow-card); }
.tools-section select,.tools-section input { background:var(--paper); }
.check-results { display:grid; gap:8px; }
.security-summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px; background:var(--cream); border-radius:var(--radius-md); }
.security-score { font-family:var(--font-display); font-size:2rem; line-height:1; }
.security-summary strong { font-size:13px; }
.security-summary p { margin-top:2px; font-size:11px; color:var(--muted); }
.check-row { display:grid; grid-template-columns:84px 1fr auto; gap:10px; align-items:start; padding:9px 0; border-bottom:1px solid var(--line); font-size:12px; }
.check-row strong { font-size:12px; }
.check-row .detail { color:var(--muted); overflow-wrap:anywhere; }
.badge { display:inline-flex; align-items:center; justify-content:center; min-width:56px; height:24px; padding:0 8px; border-radius:999px; background:var(--foam); color:var(--teal-deep); font-size:10px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.badge.warn { background:#eee4cf; color:#6e5422; }
.badge.miss { background:#efe0dd; color:var(--danger); }
.dns-results { min-height:142px; max-height:250px; overflow:auto; margin:0; padding:14px; border-radius:var(--radius-md); background:var(--ink-soft); color:#f6f1e8; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace; font-size:11px; line-height:1.55; white-space:pre-wrap; overflow-wrap:anywhere; }
.news-layout { display:grid; gap:16px; }
@media(min-width:900px){ .news-layout{grid-template-columns:1.4fr .6fr} }
.news-list { border-top:1px solid var(--line); }
.news-item { display:grid; gap:6px; padding:16px 0; border-bottom:1px solid var(--line); }
.news-item a { font-family:var(--font-display); font-size:1.35rem; line-height:1.18; letter-spacing:-.02em; }
.news-item a:hover { color:var(--teal-deep); }
.news-meta { display:flex; flex-wrap:wrap; gap:10px; font-size:11px; color:var(--faint); }
.coming-card { background:var(--cream); align-self:start; }
.coming-list { margin:0; padding:0; list-style:none; }
.coming-list li { display:flex; align-items:baseline; justify-content:space-between; gap:15px; padding:12px 0; border-bottom:1px solid var(--line); font-size:13px; }
.coming-list li:last-child { border-bottom:0; }
.coming-list small { text-align:right; color:var(--faint); font-size:11px; }
.tools-cta { padding:56px 0; border-top:1px solid var(--line); background:var(--teal-deep); color:var(--cream); }
.tools-cta-inner { display:flex; flex-direction:column; gap:28px; }
.tools-cta .eyebrow { color:#9fc9c8; }
.tools-cta h2 { margin-top:8px; font-family:var(--font-display); font-size:var(--text-section); letter-spacing:-.03em; }
.tools-cta .muted { margin-top:12px; max-width:44rem; color:#c8d3d2; }
.tools-cta .btn { background:var(--cream); color:var(--teal-deep); flex:0 0 auto; }
.tools-cta .btn:hover { background:#fff; }
@media(min-width:760px){ .tools-cta-inner{flex-direction:row;align-items:center;justify-content:space-between}.tools-cta .btn{margin-left:24px} }
