/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --bg:#111111; --bg2:#1A1A1A; --bg3:#222222; --bg4:#2A2A2A;
  --border:#333333; --border2:#444444;
  --text:#E8E4DF; --text2:#A0998F; --text3:#6B6560;
  --accent:#FF6B2B; --accent2:#FFB088;
  --green:#4ADE80; --red:#F87171; --orange:#FB923C;
  --yellow:#FACC15; --gray:#6B7280; --blue:#60A5FA;
  --font-display:'Syne',sans-serif; --font-mono:'Space Mono',monospace;
  --radius:4px; --radius2:8px;
}
html { scroll-behavior:smooth; }
body { background:var(--bg); color:var(--text); font-family:var(--font-mono); font-size:13px; line-height:1.6; min-height:100vh; overflow-x:hidden; }
::-webkit-scrollbar { width:6px; height:6px; }
::-webkit-scrollbar-track { background:var(--bg2); }
::-webkit-scrollbar-thumb { background:var(--border2); border-radius:3px; }
::-webkit-scrollbar-thumb:hover { background:var(--accent); }

/* HEADER */
.site-header { position:sticky; top:0; z-index:100; background:rgba(17,17,17,0.95); backdrop-filter:blur(12px); border-bottom:1px solid var(--border); }
.header-inner { max-width:1100px; margin:0 auto; padding:0 24px; height:56px; display:flex; align-items:center; justify-content:space-between; }
.logo { display:flex; align-items:center; gap:10px; }
.logo-icon { display:flex; align-items:center; }
.logo-text { font-family:var(--font-display); font-size:20px; font-weight:800; color:var(--text); letter-spacing:-0.5px; }
.logo-text .accent { color:var(--accent); }
.header-nav { display:flex; align-items:center; gap:12px; }
.nav-badge { font-size:10px; font-weight:700; letter-spacing:1.5px; color:var(--accent); background:rgba(255,107,43,0.12); border:1px solid rgba(255,107,43,0.3); padding:3px 8px; border-radius:var(--radius); }
.nav-version { font-size:11px; color:var(--text3); }

/* HERO */
.hero { background:linear-gradient(180deg,#1A1A1A 0%,#111111 100%); border-bottom:1px solid var(--border); padding:64px 24px 48px; position:relative; overflow:hidden; }
.hero::before { content:''; position:absolute; top:-80px; right:-80px; width:400px; height:400px; background:radial-gradient(circle,rgba(255,107,43,0.08) 0%,transparent 70%); pointer-events:none; }
.hero-inner { max-width:1100px; margin:0 auto; }
.hero-tag { font-size:11px; font-weight:700; letter-spacing:2px; color:var(--accent); margin-bottom:16px; }
.hero-title { font-family:var(--font-display); font-size:clamp(36px,6vw,64px); font-weight:800; line-height:1.05; letter-spacing:-2px; color:var(--text); margin-bottom:20px; }
.hero-title .accent { color:var(--accent); }
.hero-sub { font-size:14px; color:var(--text2); max-width:560px; line-height:1.7; margin-bottom:28px; }
.hero-stats-row { display:flex; flex-wrap:wrap; gap:8px; }
.stat-pill { display:flex; align-items:center; gap:6px; background:var(--bg3); border:1px solid var(--border); padding:5px 12px; border-radius:20px; font-size:11px; color:var(--text2); }
.stat-dot { width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.stat-dot.green { background:var(--green); box-shadow:0 0 6px var(--green); }
.stat-dot.red { background:var(--red); box-shadow:0 0 6px var(--red); }
.stat-dot.orange { background:var(--orange); box-shadow:0 0 6px var(--orange); }
.stat-dot.yellow { background:var(--yellow); box-shadow:0 0 6px var(--yellow); }
.stat-dot.gray { background:var(--gray); }

/* LAYOUT */
.tool-wrapper { max-width:1100px; margin:0 auto; padding:32px 24px 64px; display:flex; flex-direction:column; gap:24px; }
.panel { background:var(--bg2); border:1px solid var(--border); border-radius:var(--radius2); overflow:hidden; animation:fadeUp 0.3s ease both; }
@keyframes fadeUp { from{opacity:0;transform:translateY(12px);} to{opacity:1;transform:translateY(0);} }
.panel-header { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; border-bottom:1px solid var(--border); background:var(--bg3); }
.panel-label { font-size:11px; font-weight:700; letter-spacing:2px; color:var(--accent); }
.panel-actions { display:flex; gap:8px; align-items:center; }

/* INPUT */
.input-meta-row { display:flex; align-items:center; justify-content:space-between; padding:16px 20px 8px; }
.input-label { font-size:12px; color:var(--text2); }
.url-counter { font-size:11px; color:var(--accent); font-weight:700; background:rgba(255,107,43,0.1); border:1px solid rgba(255,107,43,0.2); padding:2px 8px; border-radius:var(--radius); }
.url-textarea { width:100%; min-height:200px; background:var(--bg); border:none; border-top:1px solid var(--border); border-bottom:1px solid var(--border); color:var(--text); font-family:var(--font-mono); font-size:12px; line-height:1.8; padding:16px 20px; resize:vertical; outline:none; transition:background 0.2s; }
.url-textarea:focus { background:#0F0F0F; }
.url-textarea::placeholder { color:var(--text3); }
.input-options { display:flex; flex-wrap:wrap; gap:20px; padding:16px 20px; border-bottom:1px solid var(--border); }
.checkbox-label { display:flex; align-items:center; gap:8px; cursor:pointer; font-size:12px; color:var(--text2); user-select:none; }
.checkbox-label input[type="checkbox"] { display:none; }
.checkmark { width:16px; height:16px; border:1px solid var(--border2); border-radius:3px; background:var(--bg3); display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:all 0.15s; }
.checkbox-label input:checked + .checkmark { background:var(--accent); border-color:var(--accent); }
.checkbox-label input:checked + .checkmark::after { content:''; width:9px; height:5px; border-left:2px solid #111; border-bottom:2px solid #111; transform:rotate(-45deg) translateY(-1px); display:block; }
.concurrency-row { padding:14px 20px; border-bottom:1px solid var(--border); display:flex; align-items:center; gap:16px; }
.slider { flex:1; max-width:200px; -webkit-appearance:none; height:4px; background:var(--border2); border-radius:2px; outline:none; }
.slider::-webkit-slider-thumb { -webkit-appearance:none; width:16px; height:16px; border-radius:50%; background:var(--accent); cursor:pointer; transition:transform 0.15s; }
.slider::-webkit-slider-thumb:hover { transform:scale(1.2); }

/* BUTTONS */
.btn-primary { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; padding:16px; background:var(--accent); color:#111; border:none; font-family:var(--font-display); font-size:15px; font-weight:700; letter-spacing:0.5px; cursor:pointer; transition:all 0.2s; }
.btn-primary:hover { background:#FF8C5A; transform:translateY(-1px); }
.btn-primary:active { transform:translateY(0); }
.btn-primary:disabled { background:var(--bg4); color:var(--text3); cursor:not-allowed; transform:none; }
.btn-ghost { background:transparent; border:1px solid var(--border2); color:var(--text2); font-family:var(--font-mono); font-size:11px; padding:5px 12px; border-radius:var(--radius); cursor:pointer; transition:all 0.15s; white-space:nowrap; }
.btn-ghost:hover { border-color:var(--accent); color:var(--accent); background:rgba(255,107,43,0.06); }
.btn-ghost.danger:hover { border-color:var(--red); color:var(--red); background:rgba(248,113,113,0.06); }

/* PROGRESS */
.progress-stats { display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--border); border-bottom:1px solid var(--border); }
.pstat { background:var(--bg2); padding:20px 16px; text-align:center; }
.pstat-val { font-family:var(--font-display); font-size:28px; font-weight:800; color:var(--text); line-height:1; margin-bottom:6px; }
.pstat-val.green { color:var(--green); }
.pstat-val.orange { color:var(--orange); }
.pstat-val.red { color:var(--red); }
.pstat-val.accent { color:var(--accent); }
.pstat-key { font-size:10px; color:var(--text3); letter-spacing:1px; text-transform:uppercase; }
.progress-bar-wrap { display:flex; align-items:center; gap:12px; padding:16px 20px; border-bottom:1px solid var(--border); }
.progress-bar-track { flex:1; height:8px; background:var(--bg4); border-radius:4px; overflow:hidden; }
.progress-bar-fill { height:100%; width:0%; background:linear-gradient(90deg,var(--accent),var(--accent2)); border-radius:4px; transition:width 0.3s ease; position:relative; overflow:hidden; }
.progress-bar-fill::after { content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent); animation:shimmer 1.5s infinite; }
@keyframes shimmer { to{left:200%;} }
.progress-pct { font-size:13px; font-weight:700; color:var(--accent); min-width:40px; text-align:right; }
.progress-log { height:120px; overflow-y:auto; padding:12px 20px; font-size:11px; color:var(--text3); line-height:1.8; }
.log-entry { display:flex; gap:8px; }
.log-entry .log-time { color:var(--text3); flex-shrink:0; }
.log-entry .log-url { color:var(--text2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.log-entry .log-status { flex-shrink:0; }
.log-entry .log-status.ok { color:var(--green); }
.log-entry .log-status.err { color:var(--red); }
.log-entry .log-status.redir { color:var(--orange); }

/* RESULTS */
.summary-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr)); gap:1px; background:var(--border); border-bottom:1px solid var(--border); }
.summary-card { background:var(--bg2); padding:20px 16px; text-align:center; cursor:pointer; transition:background 0.15s; }
.summary-card:hover { background:var(--bg3); }
.sc-count { font-family:var(--font-display); font-size:32px; font-weight:800; line-height:1; margin-bottom:6px; }
.sc-label { font-size:10px; color:var(--text3); letter-spacing:1px; text-transform:uppercase; }
.sc-count.c-all { color:var(--text); }
.sc-count.c-active { color:var(--green); }
.sc-count.c-dead { color:var(--red); }
.sc-count.c-redirect { color:var(--orange); }
.sc-count.c-restricted { color:var(--yellow); }
.sc-count.c-unknown { color:var(--gray); }
.filter-bar { display:flex; align-items:center; gap:6px; padding:12px 20px; border-bottom:1px solid var(--border); flex-wrap:wrap; background:var(--bg3); }
.filter-btn { background:transparent; border:1px solid var(--border); color:var(--text3); font-family:var(--font-mono); font-size:11px; padding:4px 12px; border-radius:20px; cursor:pointer; transition:all 0.15s; }
.filter-btn:hover { border-color:var(--border2); color:var(--text2); }
.filter-btn.active { background:var(--accent); border-color:var(--accent); color:#111; font-weight:700; }
.filter-search-wrap { margin-left:auto; }
.filter-search { background:var(--bg); border:1px solid var(--border); color:var(--text); font-family:var(--font-mono); font-size:12px; padding:5px 12px; border-radius:var(--radius); outline:none; width:200px; transition:border-color 0.15s; }
.filter-search:focus { border-color:var(--accent); }
.filter-search::placeholder { color:var(--text3); }
.results-table-wrap { overflow-x:auto; max-height:500px; overflow-y:auto; }
.results-table { width:100%; border-collapse:collapse; font-size:12px; }
.results-table thead { position:sticky; top:0; z-index:10; background:var(--bg3); }
.results-table th { padding:10px 14px; text-align:left; font-size:10px; font-weight:700; letter-spacing:1.5px; color:var(--text3); text-transform:uppercase; border-bottom:1px solid var(--border); white-space:nowrap; }
.results-table td { padding:10px 14px; border-bottom:1px solid var(--border); vertical-align:middle; }
.results-table tbody tr { transition:background 0.1s; }
.results-table tbody tr:hover { background:var(--bg3); }
.results-table tbody tr:last-child td { border-bottom:none; }
.col-num { width:48px; } .col-url { max-width:260px; } .col-active { width:120px; } .col-sub { width:100px; } .col-reason { max-width:200px; } .col-code { width:65px; } .col-time { width:75px; } .col-action { width:65px; }
.url-cell { display:flex; flex-direction:column; gap:2px; }
.url-main { color:var(--text); font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:300px; }
.url-sub { font-size:10px; color:var(--text3); }
.badge { display:inline-flex; align-items:center; gap:5px; padding:3px 8px; border-radius:3px; font-size:10px; font-weight:700; letter-spacing:0.5px; text-transform:uppercase; white-space:nowrap; }
.badge-dot { width:6px; height:6px; border-radius:50%; flex-shrink:0; }
.badge.active { background:rgba(74,222,128,0.12); color:var(--green); border:1px solid rgba(74,222,128,0.25); }
.badge.active .badge-dot { background:var(--green); box-shadow:0 0 4px var(--green); }
.badge.dead { background:rgba(248,113,113,0.12); color:var(--red); border:1px solid rgba(248,113,113,0.25); }
.badge.dead .badge-dot { background:var(--red); }
.badge.redirect { background:rgba(251,146,60,0.12); color:var(--orange); border:1px solid rgba(251,146,60,0.25); }
.badge.redirect .badge-dot { background:var(--orange); }
.badge.restricted { background:rgba(250,204,21,0.12); color:var(--yellow); border:1px solid rgba(250,204,21,0.25); }
.badge.restricted .badge-dot { background:var(--yellow); }
.badge.unknown { background:rgba(107,114,128,0.12); color:var(--gray); border:1px solid rgba(107,114,128,0.25); }
.badge.unknown .badge-dot { background:var(--gray); }
.badge.checking { background:rgba(96,165,250,0.12); color:var(--blue); border:1px solid rgba(96,165,250,0.25); }
.badge.checking .badge-dot { background:var(--blue); animation:pulse 1s infinite; }
@keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:0.3;} }
/* ===== ACTIVE / NOT ACTIVE PRIMARY BADGE ===== */
.active-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.8px;
  white-space: nowrap;
  font-family: var(--font-display);
}
.active-badge .badge-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; }
.active-badge.active-yes {
  background: rgba(74,222,128,0.15);
  color: var(--green);
  border: 1px solid rgba(74,222,128,0.35);
}
.active-badge.active-yes .badge-dot {
  background: var(--green);
  box-shadow: 0 0 6px var(--green);
  animation: pulse 2s infinite;
}
.active-badge.active-no {
  background: rgba(248,113,113,0.12);
  color: var(--red);
  border: 1px solid rgba(248,113,113,0.3);
}
.active-badge.active-no .badge-dot { background: var(--red); }
.active-badge.active-checking {
  background: rgba(96,165,250,0.1);
  color: var(--blue);
  border: 1px solid rgba(96,165,250,0.25);
}
.active-badge.active-checking .badge-dot { background: var(--blue); animation: pulse 0.8s infinite; }

/* Row tinting */
.results-table tbody tr.row-active { background: rgba(74,222,128,0.03); }
.results-table tbody tr.row-active:hover { background: rgba(74,222,128,0.07); }
.results-table tbody tr.row-inactive { background: rgba(248,113,113,0.03); }
.results-table tbody tr.row-inactive:hover { background: rgba(248,113,113,0.07); }

/* Reason text */
.reason-text { font-size: 11px; color: var(--text3); font-family: var(--font-mono); }

.http-code { font-family:var(--font-mono); font-size:12px; font-weight:700; }
.http-code.ok { color:var(--green); } .http-code.redir { color:var(--orange); } .http-code.err { color:var(--red); } .http-code.na { color:var(--text3); }
.type-tag { font-size:10px; color:var(--text3); background:var(--bg4); padding:2px 6px; border-radius:3px; }
.time-val { font-size:11px; color:var(--text3); }
.btn-open { background:transparent; border:1px solid var(--border); color:var(--text3); font-size:10px; padding:4px 8px; border-radius:var(--radius); cursor:pointer; font-family:var(--font-mono); transition:all 0.15s; text-decoration:none; display:inline-block; }
.btn-open:hover { border-color:var(--accent); color:var(--accent); }
.results-footer { display:flex; align-items:center; justify-content:space-between; padding:14px 20px; border-top:1px solid var(--border); background:var(--bg3); }
#resultsCount { font-size:12px; color:var(--text3); }
.site-footer { border-top:1px solid var(--border); background:var(--bg2); padding:20px 24px; }
.footer-inner { max-width:1100px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.footer-copy { font-size:12px; color:var(--text3); }
.footer-note { font-size:11px; color:var(--text3); opacity:0.6; }
.empty-row td { text-align:center; padding:48px 20px; color:var(--text3); font-size:13px; }
.toast { position:fixed; bottom:24px; right:24px; background:var(--bg3); border:1px solid var(--border2); color:var(--text); font-family:var(--font-mono); font-size:12px; padding:12px 20px; border-radius:var(--radius2); z-index:9999; animation:toastIn 0.3s ease; box-shadow:0 8px 32px rgba(0,0,0,0.5); }
.toast.success { border-color:var(--green); color:var(--green); }
.toast.error { border-color:var(--red); color:var(--red); }
@keyframes toastIn { from{opacity:0;transform:translateY(12px);} to{opacity:1;transform:translateY(0);} }
@media (max-width:768px) {
  .hero { padding:40px 16px 32px; }
  .hero-title { font-size:36px; letter-spacing:-1px; }
  .tool-wrapper { padding:20px 16px 48px; }
  .progress-stats { grid-template-columns:repeat(3,1fr); }
  .filter-search-wrap { width:100%; margin-left:0; }
  .filter-search { width:100%; }
  .footer-inner { flex-direction:column; align-items:flex-start; }
  .results-footer { flex-direction:column; gap:10px; align-items:flex-start; }
  .concurrency-row { flex-direction:column; align-items:flex-start; }
  .slider { max-width:100%; width:100%; }
}
@media (max-width:480px) {
  .progress-stats { grid-template-columns:repeat(2,1fr); }
  .summary-cards { grid-template-columns:repeat(3,1fr); }
}