*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

[hidden]{display:none !important;}

:root{
  --bg:#0F172A; --surface:#1E293B; --surface2:#273449; --surface3:#334155;
  --border:rgba(248,250,252,.10); --border2:rgba(248,250,252,.18);
  --hover:rgba(248,250,252,.06);
  --divider:rgba(248,250,252,.08);
  --accent:#3B82F6; --accent-hover:#2563EB; --accent-dark:#1D4ED8; --accent2:#1D4ED8;
  --accent-contrast:#FFFFFF;
  --heading:#F8FAFC; --text:#E2E8F0; --muted:#94A3B8;
  --success:#22C55E; --warning:#F59E0B; --danger:#EF4444; --info:#3B82F6;
  --shadow-sm:0 1px 2px rgba(0,0,0,.35);
  --shadow-md:0 12px 34px rgba(0,0,0,.45);
  --shadow-glow:0 0 60px rgba(59,130,246,.22);
  --radius:16px; --radius-sm:10px; --radius-lg:22px;
  --font-display:'Space Grotesk',sans-serif;
  --font-body:'Plus Jakarta Sans',sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,monospace;
  --maxw:960px;
  --nav-h:60px;
}
:root[data-theme="light"]{
  --bg:#F4F5F7; --surface:#FFFFFF; --surface2:#FAFAFB; --surface3:#EEF0F3;
  --border:#D1D5DB; --border2:#B8BEC9;
  --hover:rgba(17,24,39,.05);
  --divider:rgba(17,24,39,.08);
  --accent:#3B82F6; --accent-hover:#2563EB; --accent-dark:#1D4ED8; --accent2:#1D4ED8;
  --accent-contrast:#FFFFFF;
  --heading:#111827; --text:#374151; --muted:#6B7280;
  --success:#16A34A; --warning:#B45309; --danger:#DC2626; --info:#2563EB;
  --shadow-sm:0 1px 2px rgba(17,24,39,.06);
  --shadow-md:0 10px 30px rgba(17,24,39,.10);
  --shadow-glow:0 0 60px rgba(59,130,246,.14);
}

.hero h1,.section-title,.card-title,.section h3,.feature h3,.steps h3,
.faq-item summary,.cta-final h2,.sh-wordmark{color:var(--heading);}
html{color-scheme:dark;scroll-behavior:smooth;}
html[data-theme="light"]{color-scheme:light;}

body{
  font-family:var(--font-body); background:var(--bg); color:var(--text);
  font-weight:500; min-height:100vh; line-height:1.65; overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
body::before{
  content:''; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 45% at 12% -5%, color-mix(in srgb,var(--accent) 14%,transparent), transparent 60%),
    radial-gradient(ellipse 55% 40% at 92% 8%, color-mix(in srgb,var(--accent2) 10%,transparent), transparent 55%);
}
a{color:var(--accent);text-decoration:none;}
a:hover{text-decoration:underline;}
code{
  font-family:var(--font-mono); font-size:.86em;
  background:var(--surface2); border:1px solid var(--border);
  padding:.1em .45em; border-radius:6px; color:var(--text); word-break:break-word;
}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px;}

.ic{width:1.05em;height:1.05em;stroke:currentColor;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;vertical-align:-.16em;display:inline-block;flex-shrink:0;}

.site-header{
  position:sticky; top:0; z-index:50;
  background:color-mix(in srgb,var(--bg) 82%,transparent);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--border);
}
.nav{
  position:relative;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  max-width:var(--maxw); margin:0 auto;
  padding:10px clamp(16px,4vw,32px); min-height:var(--nav-h);
}
.nav-actions{display:flex;align-items:center;gap:.5rem;}
.icon-btn{
  display:grid;place-items:center;width:38px;height:38px;border-radius:10px;
  background:var(--surface2);border:1px solid var(--border);color:var(--text);
  cursor:pointer;font-size:16px;transition:border-color .15s,background .15s;
}
.icon-btn:hover{border-color:var(--border2);background:var(--surface3);}
.ic-moon{display:none;}
:root[data-theme="light"] .ic-sun{display:none;}
:root[data-theme="light"] .ic-moon{display:inline-block;}

.icon-btn.menu-btn{display:none;}
.menu-btn .ic-close{display:none;}
.menu-btn[aria-expanded="true"] .ic-menu{display:none;}
.menu-btn[aria-expanded="true"] .ic-close{display:inline-block;}

main{position:relative;}
.section-inner{max-width:960px;margin:0 auto;padding:0 clamp(16px,4vw,32px);}
.section-inner.narrow{max-width:760px;}
.section{padding:clamp(48px,8vw,88px) 0;}
.section-alt{background:var(--surface);border-block:1px solid var(--border);}
.section-title{font-family:var(--font-display);font-weight:700;line-height:1.15;
  font-size:clamp(1.5rem,3.4vw,2.1rem);margin-bottom:14px;}
.section-lead{color:var(--muted);font-size:1.02rem;max-width:640px;margin-bottom:36px;}
.section h3{font-family:var(--font-display);font-weight:600;font-size:1.12rem;margin:22px 0 8px;}
.section p{color:var(--muted);margin-bottom:14px;}
.section p strong,.section li strong{color:var(--text);}
.section ul{color:var(--muted);padding-left:20px;line-height:1.9;margin-bottom:14px;}
.section ul li{margin-bottom:4px;}

.hero{padding:clamp(34px,6vw,60px) 0 clamp(26px,4vw,40px);}
.hero-inner{max-width:820px;margin:0 auto;padding:0 clamp(16px,4vw,32px);text-align:center;}
.badge{
  display:inline-flex;align-items:center;gap:8px;
  background:color-mix(in srgb,var(--accent) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);
  color:var(--accent);border-radius:999px;padding:6px 15px;
  font-size:12px;font-weight:700;letter-spacing:.03em;margin-bottom:16px;
}
.badge-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);
  animation:blink 2s ease infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.hero h1{
  font-family:var(--font-display);font-weight:700;line-height:1.08;
  font-size:clamp(1.9rem,4.6vw,2.9rem);letter-spacing:-.02em;margin-bottom:14px;
  background:linear-gradient(135deg,var(--heading) 30%,var(--accent) 78%,var(--accent2));
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
}
.hero-sub{color:var(--muted);font-size:clamp(.98rem,2vw,1.1rem);
  max-width:620px;margin:0 auto 28px;}
.hero-sub strong{color:var(--text);}

.card{
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:24px;text-align:left;box-shadow:var(--shadow-md);
  position:relative;overflow:hidden;margin-bottom:18px;
}
.card::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 55%,transparent),transparent);}
.card-title{font-family:var(--font-display);font-weight:600;font-size:1.05rem;margin-bottom:14px;}
.tool{box-shadow:var(--shadow-md),var(--shadow-glow);}

.field-label{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--accent);margin-bottom:10px;}
textarea{
  width:100%;height:140px;background:var(--surface2);color:var(--text);
  border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:14px 16px;font-family:var(--font-mono);font-size:13px;line-height:1.8;
  outline:none;resize:vertical;transition:border-color .18s,box-shadow .18s;
}
textarea:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);}
textarea::placeholder{color:var(--muted);opacity:.65;}

.btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;}
.url-counter{margin-left:auto;font-family:var(--font-mono);font-size:12px;color:var(--muted);}
.url-counter.over{color:var(--danger);font-weight:700;}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0;}

.btn{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 22px;border:none;border-radius:var(--radius-sm);
  font-family:var(--font-body);font-size:.9rem;font-weight:700;
  cursor:pointer;white-space:nowrap;transition:transform .16s,box-shadow .16s,background .16s,border-color .16s,color .16s;
}
.btn:hover{text-decoration:none;}
.btn-sm{padding:8px 14px;font-size:.82rem;}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:var(--accent-contrast);box-shadow:0 6px 20px color-mix(in srgb,var(--accent) 40%,transparent);}
.btn-primary:hover:not(:disabled){transform:translateY(-1px);
  box-shadow:0 9px 26px color-mix(in srgb,var(--accent) 55%,transparent);}
.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;}
.btn-ghost{background:var(--surface2);border:1px solid var(--border2);color:var(--muted);}
.btn-ghost:hover{color:var(--text);border-color:var(--accent);}
.btn-green{background:color-mix(in srgb,var(--success) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--success) 35%,transparent);color:var(--success);display:none;}
.btn-green:hover{background:color-mix(in srgb,var(--success) 22%,transparent);}
.btn-green.show{display:inline-flex;}

.btn-stop{background:color-mix(in srgb,var(--danger) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger);}
.btn-stop:hover{background:color-mix(in srgb,var(--danger) 22%,transparent);}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none;}

.link-btn{background:none;border:none;color:var(--accent);font:inherit;font-weight:600;
  cursor:pointer;padding:0;text-decoration:underline;}
.link-btn:hover{color:var(--accent-hover);}

.mode-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.mode-chip{display:inline-flex;align-items:center;gap:7px;
  padding:8px 15px;border-radius:999px;cursor:pointer;
  font-family:var(--font-body);font-size:.84rem;font-weight:700;letter-spacing:.01em;
  color:var(--muted);background:var(--surface2);border:1.5px solid var(--border2);
  transition:color .15s,border-color .15s,background .15s;}
.mode-chip:hover{color:var(--text);border-color:var(--accent);}
.mode-chip .ic{width:1em;height:1em;}
.mode-chip.is-active{color:var(--accent);
  background:color-mix(in srgb,var(--accent) 12%,transparent);
  border-color:color-mix(in srgb,var(--accent) 55%,transparent);}

.delay-pill{display:inline-flex;align-items:center;gap:9px;
  background:var(--surface2);border:1px solid var(--border);
  border-radius:var(--radius-sm);padding:7px 13px;}
.delay-pill label{font-size:11px;font-weight:700;letter-spacing:.05em;color:var(--muted);
  white-space:nowrap;text-transform:uppercase;}
.delay-pill input[type=range]{width:84px;accent-color:var(--accent);cursor:pointer;}
.delay-val{font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--accent);
  min-width:34px;text-align:right;}

.saved-wrap{margin-top:18px;padding-top:18px;border-top:1px solid var(--divider);}
.field-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.field-head .field-label{margin-bottom:0;}
.count{font-family:var(--font-mono);font-size:11px;color:var(--muted);
  background:var(--surface2);border:1px solid var(--border);border-radius:999px;padding:2px 9px;}

.saved-form{display:flex;gap:8px;flex-wrap:wrap;}
.saved-form input{flex:1;min-width:180px;background:var(--surface2);color:var(--text);
  border:1px solid var(--border);border-radius:var(--radius-sm);padding:9px 13px;
  font-family:var(--font-body);font-size:13px;outline:none;
  transition:border-color .18s,box-shadow .18s;}
.saved-form input:focus{border-color:color-mix(in srgb,var(--accent) 55%,transparent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);}
.saved-form input::placeholder{color:var(--muted);opacity:.7;}

.saved{list-style:none;display:flex;flex-direction:column;gap:8px;margin-top:12px;padding:0;}
.saved-item{display:flex;align-items:center;gap:8px;}
.saved-load{flex:1;display:flex;align-items:center;justify-content:space-between;gap:10px;
  background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:10px 13px;cursor:pointer;font-family:var(--font-body);text-align:left;
  color:var(--text);transition:border-color .15s,background .15s;}
.saved-load:hover{border-color:var(--accent);background:var(--surface3);}
.saved-name{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.saved-meta{font-family:var(--font-mono);font-size:11px;color:var(--muted);flex-shrink:0;}
.icon-btn.saved-del{width:36px;height:36px;flex-shrink:0;}
.icon-btn.saved-del:hover{border-color:var(--danger);color:var(--danger);}
.saved-empty{margin-top:12px;font-size:12.5px;color:var(--muted);line-height:1.6;}

.progress-wrap{display:none;margin-top:16px;background:var(--surface2);
  border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px 16px;}
.progress-wrap.show{display:block;}
.progress-top{display:flex;justify-content:space-between;align-items:center;
  margin-bottom:10px;font-size:13px;color:var(--muted);}
.progress-top strong{color:var(--text);font-family:var(--font-mono);}
.progress-track{height:5px;background:var(--surface3);border-radius:99px;overflow:hidden;}
.progress-fill{height:100%;width:0;border-radius:99px;
  background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .3s ease;}

.gate{display:flex;align-items:flex-start;gap:12px;margin-top:16px;
  border-radius:var(--radius-sm);padding:13px 15px;
  background:color-mix(in srgb,var(--accent) 8%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);}
.gate[data-state="ok"]{background:color-mix(in srgb,var(--success) 9%,transparent);
  border-color:color-mix(in srgb,var(--success) 28%,transparent);}
.gate[data-state="blocked"]{background:color-mix(in srgb,var(--warning) 9%,transparent);
  border-color:color-mix(in srgb,var(--warning) 30%,transparent);}
.gate-ic{flex-shrink:0;margin-top:2px;color:var(--accent);width:18px;height:18px;}
.gate[data-state="ok"] .gate-ic{color:var(--success);}
.gate[data-state="blocked"] .gate-ic{color:var(--warning);}
.gate-body{flex:1;min-width:0;}
.gate-title{display:block;font-size:.92rem;color:var(--heading);font-weight:700;margin-bottom:2px;}
.gate-text{font-size:.85rem;color:var(--muted);margin:0;}
.gate-how{font-size:.85rem;color:var(--text);margin:8px 0 0;line-height:1.55;}
.gate-retry{flex-shrink:0;align-self:center;}

.note{display:flex;align-items:baseline;gap:8px;
  background:color-mix(in srgb,var(--accent) 7%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);
  border-radius:var(--radius-sm);padding:12px 15px;margin-top:16px;
  font-size:12.5px;color:var(--muted);line-height:1.6;}
.note .ic{color:var(--accent);flex-shrink:0;}
.note strong{color:var(--text);}
.note code{font-size:.82em;}
.note .link-btn{margin-left:4px;}

.info-body p{font-size:13px;color:var(--muted);margin-bottom:10px;}
.info-body p:last-child{margin-bottom:0;}
.info-body strong{color:var(--text);}

.results-header{display:flex;align-items:flex-start;justify-content:space-between;
  flex-wrap:wrap;gap:12px;margin-bottom:16px;}
.results-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
.stats-row{display:flex;gap:14px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);}
.stat{display:flex;align-items:center;gap:6px;}
.stat-dot{width:8px;height:8px;border-radius:50%;}
.stat-dot.green{background:var(--success);}
.stat-dot.blue{background:var(--accent);}
.stat-dot.red{background:var(--danger);}
.stat-dot.orange{background:var(--warning);}

.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-sm);}
table{width:100%;min-width:580px;border-collapse:collapse;}
thead tr{background:var(--surface2);border-bottom:1px solid var(--border);}
thead th{padding:11px 16px;font-size:11px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:var(--muted);text-align:left;}
tbody tr{border-bottom:1px solid var(--border);transition:background .15s;}
tbody tr:last-child{border-bottom:none;}
tbody tr:hover{background:var(--hover);}
tbody td{padding:12px 16px;font-size:13px;vertical-align:middle;}
.td-url{font-family:var(--font-mono);color:var(--muted);max-width:290px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.td-id{font-family:var(--font-mono);font-weight:600;font-size:14px;color:var(--success);}
.td-id.dash{color:var(--muted);}
.td-type{font-size:12px;color:var(--muted);text-transform:capitalize;}
.td-status{white-space:nowrap;}
.th-actions{min-width:230px;}

.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;
  font-size:11px;font-weight:700;letter-spacing:.02em;}
.pill-found{background:color-mix(in srgb,var(--success) 12%,transparent);color:var(--success);
  border:1px solid color-mix(in srgb,var(--success) 28%,transparent);}
.pill-opened{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);
  border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);}
.pill-nf{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);
  border:1px solid color-mix(in srgb,var(--danger) 28%,transparent);}
.pill-blocked{background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning);
  border:1px solid color-mix(in srgb,var(--warning) 28%,transparent);}
.pill-pending{background:var(--hover);color:var(--muted);border:1px solid var(--border);}

.spin{width:11px;height:11px;border-radius:50%;border:2px solid var(--border2);
  border-top-color:var(--accent);animation:spin .7s linear infinite;display:inline-block;}
@keyframes spin{to{transform:rotate(360deg)}}

.row-actions{display:flex;gap:6px;flex-wrap:wrap;}
.mini-btn{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;border-radius:7px;
  font-size:11px;font-weight:700;font-family:var(--font-body);cursor:pointer;
  text-decoration:none;border:1px solid;transition:background .15s,border-color .15s;}
.mini-btn:hover{text-decoration:none;}
.mini-copy{background:var(--surface3);border-color:var(--border);color:var(--muted);}
.mini-copy:hover{border-color:var(--success);color:var(--success);}
.mini-copy.ok{border-color:var(--success);color:var(--success);}

.mini-el{background:color-mix(in srgb,var(--accent) 10%,transparent);
  border-color:color-mix(in srgb,var(--accent) 34%,transparent);color:var(--accent);}
.mini-el:hover{background:color-mix(in srgb,var(--accent) 18%,transparent);}
.mini-wp{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast);}
.mini-wp:hover{background:var(--accent-hover);border-color:var(--accent-hover);}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  padding:24px 22px;box-shadow:var(--shadow-sm);transition:border-color .18s,transform .18s;}
.feature:hover{border-color:var(--border2);transform:translateY(-2px);}
.feature-ic{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;
  background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--accent-contrast);
  font-size:19px;margin-bottom:15px;}
.feature h3{font-family:var(--font-display);font-weight:600;font-size:1.05rem;margin-bottom:7px;}
.feature p{color:var(--muted);font-size:.92rem;margin:0;}

.steps{list-style:none;display:flex;flex-direction:column;gap:20px;margin-top:8px;}
.steps li{display:flex;gap:16px;align-items:flex-start;}
.step-num{flex-shrink:0;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;
  background:color-mix(in srgb,var(--accent) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);
  color:var(--accent);font-family:var(--font-display);font-weight:700;font-size:1rem;}
.steps h3{margin:2px 0 4px;}
.steps p{margin:0;}
.callout{display:flex;gap:12px;align-items:flex-start;margin-top:28px;
  background:color-mix(in srgb,var(--accent) 7%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);
  border-radius:var(--radius-sm);padding:16px 18px;}
.callout .ic{color:var(--accent);flex-shrink:0;margin-top:3px;font-size:18px;}
.callout p{margin:0;font-size:.92rem;color:var(--muted);}
.callout p strong{color:var(--text);}

.faq{display:flex;flex-direction:column;gap:12px;}
.faq-item{background:var(--surface);border:1px solid var(--border);
  border-radius:var(--radius-sm);overflow:hidden;}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:16px 18px;cursor:pointer;font-family:var(--font-display);font-weight:600;
  font-size:1rem;color:var(--text);list-style:none;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-chev{color:var(--muted);transition:transform .2s;font-size:18px;}
.faq-item[open] .faq-chev{transform:rotate(180deg);}
.faq-body{padding:0 18px 18px;}
.faq-body p{margin:0;color:var(--muted);font-size:.94rem;}

.cta-final{padding:clamp(48px,8vw,80px) 0;text-align:center;
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,var(--bg)),color-mix(in srgb,var(--accent2) 10%,var(--bg)));
  border-top:1px solid var(--border);}
.cta-final h2{font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.6rem,3.6vw,2.2rem);margin-bottom:10px;}
.cta-final p{color:var(--muted);margin-bottom:24px;}

.topic-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:8px;}
.topic{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:20px 18px;box-shadow:var(--shadow-sm);}
.topic h3{margin:0 0 6px;}
.topic p{margin:0;font-size:.92rem;color:var(--muted);}
.topic p strong,.topic li strong{color:var(--text);}
.topic ul{margin:0;font-size:.92rem;line-height:1.75;color:var(--muted);padding-left:18px;}

.shortcuts{margin-top:16px;text-align:center;font-size:.82rem;color:var(--muted);}
kbd{font-family:var(--font-mono);font-size:.78em;background:var(--surface2);
  border:1px solid var(--border2);border-bottom-width:2px;border-radius:5px;
  padding:.15em .4em;color:var(--text);}

.site-footer{border-top:1px solid var(--border);margin-top:2rem;
  padding:3rem clamp(16px,4vw,32px) 1.6rem;background:var(--surface);}
.footer-inner{max-width:var(--maxw);margin:0 auto;display:grid;
  grid-template-columns:1.7fr 1fr 1fr 1fr 1.1fr;gap:2rem;}
.footer-brand-col{display:flex;flex-direction:column;gap:.9rem;max-width:320px;}
.footer-pitch{color:var(--muted);font-size:.87rem;margin:0;line-height:1.5;}
.social{display:flex;gap:.5rem;flex-wrap:wrap;}
.social a{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;
  color:var(--muted);background:var(--surface2);border:1px solid var(--border);
  transition:color .15s,border-color .15s,background .15s;}
.social a:hover{color:var(--accent);border-color:var(--accent);text-decoration:none;
  background:color-mix(in srgb,var(--accent) 10%,transparent);}
.social .ic{width:1.05rem;height:1.05rem;}

.ic-fill{fill:currentColor;stroke:none;}
.footer-col h3{font-family:var(--font-display);font-size:.95rem;font-weight:600;
  margin:0 0 .8rem;color:var(--heading);}
.footer-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem;}
.footer-col a{text-decoration:none;color:var(--muted);font-size:.9rem;font-weight:500;transition:color .15s;}
.footer-col a:hover{color:var(--accent);text-decoration:none;}
.footer-bottom{max-width:var(--maxw);margin:2.4rem auto 0;padding-top:1.4rem;
  border-top:1px solid var(--divider);
  display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.5rem;
  color:var(--muted);font-size:.83rem;}
.footer-bottom p{margin:0;}
.footer-bottom a{color:var(--muted);text-decoration:none;font-weight:600;}
.footer-bottom a:hover{color:var(--accent);text-decoration:none;}

.install-card{position:fixed;right:1.1rem;bottom:1.1rem;z-index:45;
  width:min(340px,calc(100vw - 2.2rem));
  background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);
  box-shadow:var(--shadow-md);padding:1rem;animation:fabIn .3s ease;}
.install-card-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem;padding-right:1.4rem;}
.install-card-logo{height:26px;width:auto;display:block;flex-shrink:0;}
.install-card-title{font-family:var(--font-display);font-weight:700;font-size:.98rem;color:var(--heading);}
.install-card p{margin:0 0 .9rem;color:var(--muted);font-size:.87rem;line-height:1.45;}
.install-card-actions{display:flex;gap:.5rem;}
.install-card-actions .btn{flex:1;justify-content:center;}
.install-card-close{position:absolute;top:.5rem;right:.5rem;background:none;border:none;
  color:var(--muted);cursor:pointer;padding:.25rem;border-radius:6px;display:grid;place-items:center;}
.install-card-close:hover{background:var(--hover);color:var(--text);}

.install-fab{position:fixed;right:18px;bottom:18px;z-index:60;
  display:inline-flex;align-items:center;gap:8px;padding:12px 18px;
  border:none;border-radius:999px;cursor:pointer;
  font-family:var(--font-body);font-weight:700;font-size:.88rem;
  background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--accent-contrast);
  box-shadow:0 8px 26px color-mix(in srgb,var(--accent) 50%,transparent);
  animation:fabIn .3s ease;}
@keyframes fabIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.install-fab:hover{filter:brightness(1.08);}

.offline-badge{position:fixed;left:1.1rem;bottom:1.1rem;z-index:40;
  display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:600;
  color:var(--warning);background:var(--surface);
  border:1px solid color-mix(in srgb,var(--warning) 40%,transparent);
  padding:.5rem .8rem;border-radius:999px;box-shadow:var(--shadow-sm);}

.toast{position:fixed;left:50%;bottom:1.4rem;transform:translateX(-50%);z-index:70;
  background:var(--text);color:var(--bg);font-weight:600;font-size:.9rem;
  padding:.7rem 1.1rem;border-radius:999px;box-shadow:var(--shadow-md);
  display:inline-flex;align-items:center;gap:.5rem;animation:toastIn .25s ease;
  max-width:calc(100vw - 2.2rem);text-align:center;}
@keyframes toastIn{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
.toast.err{background:var(--danger);color:#fff;}

@media (max-width:860px){
  .footer-inner{grid-template-columns:1fr 1fr;gap:2rem 1.5rem;}
  .footer-brand-col{grid-column:1/-1;max-width:none;}
}
@media (max-width:820px){
  .grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:640px){
  .grid,.topic-grid{grid-template-columns:1fr;}
  .card{padding:18px 16px;}
  .url-counter{width:100%;margin-left:0;text-align:right;}
  .delay-pill{flex:1;justify-content:space-between;}
  .install-fab span{display:none;}
  .install-fab{padding:14px;}

  .footer-inner{grid-template-columns:1fr;gap:2rem;text-align:center;justify-items:center;}
  .footer-brand-col{align-items:center;max-width:340px;}
  .social{justify-content:center;}
  .footer-col ul{align-items:center;}
  .footer-bottom{flex-direction:column;justify-content:center;text-align:center;gap:.5rem;}
}
@media (max-width:560px){
  .install-card{left:1.1rem;right:1.1rem;width:auto;}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none !important;scroll-behavior:auto !important;transition:none !important;}
}

.sh-brand{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;
  font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:-.02em;color:inherit;}
.sh-brand:hover{text-decoration:none;}

.sh-logo{height:34px;width:auto;display:block;flex-shrink:0;}
.sh-wordmark{white-space:nowrap;}
.sh-wordmark .sh-accent{color:var(--accent);}

.nav-pills{display:flex;align-items:center;gap:.2rem;
  background:var(--surface2);border:1px solid var(--border);
  padding:.28rem;border-radius:999px;}
.nav-pills .pill{display:inline-flex;align-items:center;gap:.35rem;text-decoration:none;
  color:var(--muted);font-weight:600;font-size:.88rem;line-height:1;
  padding:.45rem .8rem;border-radius:999px;white-space:nowrap;border:none;
  transition:color .15s,background .15s;}
.nav-pills .pill:hover{color:var(--heading);background:var(--hover);text-decoration:none;}
.nav-pills .pill .ic{width:1em;height:1em;}
.nav-pills .pill-ext{color:var(--accent);}
.nav-pills .pill-ext:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);}

.sh-breadcrumb{max-width:var(--maxw);margin:0 auto;padding:.9rem clamp(16px,4vw,32px) 0;}
.sh-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:.15rem;
  margin:0;padding:0;font-size:.82rem;color:var(--muted);}
.sh-breadcrumb li{display:inline-flex;align-items:center;gap:.15rem;min-width:0;}
.sh-breadcrumb a{text-decoration:none;color:var(--muted);font-weight:600;padding:.15rem .1rem;transition:color .15s;}
.sh-breadcrumb a:hover{color:var(--heading);text-decoration:none;}
.sh-breadcrumb li[aria-current="page"]{color:var(--heading);font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60vw;}
.sh-breadcrumb .sh-sep{color:var(--border2);padding:0 .1rem;user-select:none;}

@media(max-width:760px){
  .icon-btn.menu-btn{display:grid;}
  .nav-pills{
    display:none; position:absolute; top:calc(100% + .5rem);
    left:clamp(16px,4vw,32px); right:clamp(16px,4vw,32px);
    flex-direction:column; align-items:stretch; gap:.15rem;
    background:var(--surface); border:1px solid var(--border);
    border-radius:var(--radius); padding:.5rem; box-shadow:var(--shadow-md); z-index:30;
  }
  .nav-pills.open{display:flex;}
  .nav-pills .pill{justify-content:flex-start;padding:.7rem .85rem;font-size:.95rem;
    border-radius:var(--radius-sm);}
  .sh-breadcrumb ol{justify-content:center;}
}
