:root{--ink:#0f172a;--mut:#64748b;--line:#e2e8f0;--bg:#f8fafc;--acc:#0ea5e9;--del:#ef4444;--bak:#3b82f6;--card:#fff}
*{box-sizing:border-box}body{margin:0;font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;color:var(--ink);background:var(--bg)}
.container{max-width:1080px;margin:0 auto;padding:0 20px}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
header.hd{background:#0b1526;color:#e2e8f0;position:sticky;top:0;z-index:9;backdrop-filter:blur(8px)}
header.hd .in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;flex-wrap:wrap}
.logo{font-weight:800;font-size:20px;color:#fff}.logo span{color:var(--acc)}
nav.nav{display:flex;gap:14px;flex-wrap:wrap}nav.nav a{color:#cbd5e1;font-size:14px}
.hero{padding:56px 0 30px;text-align:center}
.hero h1{font-size:clamp(28px,5vw,44px);line-height:1.15;margin:0 0 12px}
.hero .sub{color:var(--mut);font-size:18px;max-width:720px;margin:0 auto}
.badge{display:inline-block;background:#e0f2fe;color:#0369a1;border-radius:99px;padding:4px 14px;font-size:13px;font-weight:600;margin-bottom:14px}
.trust{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:18px 0 6px}
.trust span{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:13px;color:var(--mut)}
.tool{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin:26px 0;box-shadow:0 8px 30px rgba(2,8,23,.06)}
.toolzone{border:2px dashed var(--line);border-radius:12px;padding:34px 20px;text-align:center;transition:.15s}
.toolzone.over{border-color:var(--acc);background:#f0f9ff}
.toolzone p{color:var(--mut);margin:8px 0 0}
.btn{display:inline-block;background:var(--acc);color:#fff;border:0;border-radius:10px;padding:12px 22px;font-size:16px;font-weight:700;cursor:pointer;margin:4px}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:var(--card);color:var(--ink);border:1px solid var(--line)}
.btn.danger{background:var(--del)}
.btn[disabled]{opacity:.5;cursor:wait}
.prog{color:var(--mut);font:13px/1.4 ui-monospace,Menlo,monospace;min-height:18px;margin-top:10px}
#dl-results{display:none}#dl-results.on{display:block}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:16px 0}
.stat{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px;text-align:center}
.stat .v{font-size:22px;font-weight:800}.stat .l{font-size:12px;color:var(--mut)}
.mapwrap{position:relative;margin:14px 0}
#dl-map{width:100%;height:380px;background:#0b1526;border-radius:12px;display:block}
.bc{font-size:13px;color:var(--mut);padding:8px 2px 0}.bc a{color:#7dd3fc}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:820px){.grid2{grid-template-columns:1fr}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin-top:20px}
.panel h3{margin:0 0 10px;font-size:17px}
.catrow{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--line);font-size:14px}
.catrow:last-child{border:0}.grow{flex:1}.dot{width:10px;height:10px;border-radius:3px;display:inline-block;flex:none}
.tag{font-size:11px;padding:1px 8px;border-radius:99px;font-weight:700}.tag.del{background:#fee2e2;color:#b91c1c}.tag.bak{background:#dbeafe;color:#1d4ed8}.tag.old{background:#fef3c7;color:#92400e}
.tbl{width:100%;border-collapse:collapse;font-size:13px}
.tbl th{text-align:left;color:var(--mut);font-weight:600;border-bottom:2px solid var(--line);padding:6px 8px}
.tbl td{border-bottom:1px solid var(--line);padding:6px 8px;vertical-align:top}
.path{font-family:ui-monospace,Menlo,monospace;font-size:12px;word-break:break-all}
.muted{color:var(--mut)}
.dupe{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin:10px 0}
.dupeh{font-weight:700;font-size:13px;margin-bottom:6px}
.dupef{display:block;padding:3px 0;font-size:13px}
.stagebar{display:none;position:sticky;bottom:10px;z-index:8;background:#0b1526;color:#e2e8f0;border-radius:12px;padding:12px 16px;align-items:center;gap:10px;box-shadow:0 10px 30px rgba(2,8,23,.35);flex-wrap:wrap}
.stagebar .btn{margin:0}
.aibar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
#dl-aiout{display:none;margin-top:14px}#dl-aiout.on{display:block}
.aisum{font-weight:600}
ul.ai{padding-left:20px}ul.ai.del li{color:#991b1b}ul.ai.bak li{color:#1e40af}
.ai-disc{font-size:12px}
.aiwarn{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;padding:10px 14px;font-size:14px}
section{padding:26px 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px}
.card h3{margin:0 0 8px;font-size:16px}.card p{margin:0;font-size:14px;color:var(--mut)}
.steps{counter-reset:s;list-style:none;padding:0}
.steps li{counter-increment:s;position:relative;padding:12px 0 12px 48px;border-bottom:1px solid var(--line)}
.steps li:before{content:counter(s);position:absolute;left:0;top:12px;width:32px;height:32px;border-radius:50%;background:#e0f2fe;color:#0369a1;font-weight:800;display:flex;align-items:center;justify-content:center}
.faq details{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:8px 0}
.faq summary{font-weight:700;cursor:pointer}
.crumbs{color:var(--mut);font-size:13px;padding-top:18px}
.cmp{width:100%;border-collapse:collapse;font-size:14px}
.cmp th,.cmp td{border-bottom:1px solid var(--line);padding:9px 10px;text-align:left;vertical-align:top}
.cmp th{background:var(--bg)}
.related{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:14px}
.related a{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:block;color:var(--ink)}
.related a:hover{border-color:var(--acc);text-decoration:none}
.related b{display:block}.related span{font-size:13px;color:var(--mut)}
footer.ft{background:#0b1526;color:#94a3b8;margin-top:40px;padding:30px 0}
footer.ft a{color:#cbd5e1}
footer.ft ul{list-style:none;display:flex;gap:18px;flex-wrap:wrap;padding:0;margin:10px 0 0}
h2{margin:0 0 14px;font-size:24px}
.prose p{margin:0 0 14px}
.kbd{background:#eef2f7;border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:1px 7px;font-family:ui-monospace,Menlo,monospace;font-size:13px}
@media print{header.hd,.tool,.stagebar,footer.ft,nav.nav{display:none!important}}