:root{
  --bg:#060414;--panel:#170f2e;--panel2:#1d1440;--line:rgba(176,130,255,.28);
  --text:#f4f0ff;--muted:#a89bd6;--purple:#9b4dff;--purple2:#c9a2ff;
  --green:#39ffc0;--cyan:#3ee6ff;--gold:#ff4ecb;--danger:#ff5c8a;
  --shadow:0 20px 60px rgba(10,0,35,.55);--r:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:
 radial-gradient(900px 500px at 50% -100px,rgba(155,77,255,.32),transparent 65%),
 radial-gradient(700px 500px at 100% 100%,rgba(62,230,255,.1),transparent 60%),
 linear-gradient(180deg,#050311 0%,#0a0620 100%);color:var(--text);
 font:14px/1.45 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
.app{width:min(1240px,calc(100% - 28px));margin:0 auto;padding:22px 0 50px}
.glass{background:linear-gradient(145deg,rgba(48,26,90,.45),rgba(14,8,28,.6));border:1px solid var(--line);box-shadow:var(--shadow),0 0 45px rgba(140,70,255,.1),inset 0 1px rgba(255,255,255,.05);backdrop-filter:blur(18px) saturate(160%)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:18px;margin-bottom:16px;position:sticky;top:10px;z-index:20}
.brand{display:flex;align-items:center;gap:11px}
.brand-mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;font-weight:900;overflow:hidden}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-name{font-size:17px;font-weight:900;letter-spacing:.08em}
.brand-sub{font-size:10px;color:var(--muted);letter-spacing:.12em}
.status{display:flex;align-items:center;gap:7px;color:#b8aede;font-size:11px}
.dot{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 10px var(--green)}
.hero{padding:24px 22px;border-radius:18px;margin-bottom:16px;display:flex;justify-content:space-between;gap:20px;align-items:end}
.kicker{color:var(--purple2);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
h1{font-size:clamp(26px,4vw,40px);line-height:1.05;margin:7px 0 8px;letter-spacing:-.04em}
.hero p{margin:0;color:var(--muted);max-width:650px}
.hero-badge{padding:10px 13px;border:1px solid rgba(176,130,255,.3);border-radius:12px;background:rgba(155,77,255,.12);white-space:nowrap;color:#ddc7ff;font-size:11px}
.section{padding:18px;border-radius:18px;margin-bottom:16px}
.section-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.section-title{font-size:13px;font-weight:800;letter-spacing:.04em}
.section-title small{display:block;color:var(--muted);font-weight:500;font-size:10px;margin-top:2px}
.settings{display:grid;grid-template-columns:1fr auto;gap:12px}
.field label{display:block;color:#b8aede;font-size:11px;margin-bottom:7px}
select,input,textarea{width:100%;color:var(--text);background:#130b26;border:1px solid var(--line);border-radius:11px;outline:none;transition:.18s}
select,input{height:40px;padding:0 12px}
select:focus,input:focus,textarea:focus{border-color:rgba(201,162,255,.85);box-shadow:0 0 0 3px rgba(155,77,255,.18)}
.switch{display:flex;align-items:center;gap:8px;height:40px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:#130b26;color:#c3b8e8;font-size:11px}
.switch input{width:auto;accent-color:var(--purple)}
.lists{display:grid;grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);align-items:center;gap:12px}
.list-card{padding:14px;border-radius:16px;background:rgba(24,14,45,.55);border:1px solid var(--line)}
.list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.list-name{display:flex;align-items:center;gap:7px;font-weight:800;font-size:12px}
.list-dot{width:7px;height:7px;border-radius:50%}
.a .list-dot{background:#c9a2ff;box-shadow:0 0 9px #9b4dff}.b .list-dot{background:#3ee6ff;box-shadow:0 0 9px #3ee6ff}
.count{font-size:10px;color:#b8aede;border:1px solid var(--line);padding:4px 7px;border-radius:999px;background:#170f2e}
textarea{resize:vertical;min-height:250px;padding:13px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.65}
.list-card textarea{scrollbar-width:thin;scrollbar-color:#9b4dff rgba(24,14,45,.4)}
.list-card textarea::-webkit-scrollbar{width:8px;height:8px}
.list-card textarea::-webkit-scrollbar-track{background:rgba(24,14,45,.4);border-radius:999px}
.list-card textarea::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#c9a2ff,#7a2fe0);border-radius:999px;border:2px solid rgba(24,14,45,.4);background-clip:padding-box}
.list-card textarea::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#d9bbff,#9b4dff);background-clip:padding-box}
.list-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:9px}
.file-label,.mini-btn,.swap{border:1px solid var(--line);background:#170f2e;color:#d3c9f2;border-radius:9px;padding:8px 10px;font-size:10px}
.file-label:hover,.mini-btn:hover,.swap:hover{border-color:#9b4dff;color:#fff}
.file-input{display:none}
.stats-mini{color:#8a7fb0;font-size:10px}
.swap{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;font-size:18px;background:rgba(155,77,255,.14);border-color:rgba(155,77,255,.4);box-shadow:0 0 25px rgba(155,77,255,.2)}
.actions{display:flex;justify-content:center;gap:9px;margin-top:16px;flex-wrap:wrap}
.primary,.secondary{border-radius:11px;padding:12px 18px;border:1px solid rgba(176,130,255,.3);font-weight:800;font-size:11px;transition:.18s}
.primary{background:linear-gradient(135deg,#a855f7,#6d28d9);color:#fff;border-color:#b083ff;box-shadow:0 8px 25px rgba(155,77,255,.35)}
.primary:hover{transform:translateY(-1px);box-shadow:0 12px 32px rgba(155,77,255,.5)}
.secondary{background:#170f2e;color:#d3c9f2}.secondary:hover{border-color:#9b4dff;color:#fff}
.results{display:none}
.results.show{display:block}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.card{padding:15px;border-radius:14px;min-height:92px;position:relative;overflow:hidden}
.card:after{content:"";position:absolute;width:100px;height:100px;border-radius:50%;right:-40px;bottom:-50px;background:currentColor;opacity:.12;filter:blur(5px)}
.card-label{font-size:10px;color:#b3a6d9;text-transform:uppercase;letter-spacing:.08em}
.card-value{font-size:27px;font-weight:900;margin-top:7px;letter-spacing:-.04em}
.card-note{font-size:10px;color:#9186b3;margin-top:2px}
.purple{border-color:rgba(176,130,255,.35);color:#c9a2ff}.green{border-color:rgba(57,255,192,.28);color:var(--green)}.gold{border-color:rgba(255,78,203,.28);color:var(--gold)}.cyan{border-color:rgba(62,230,255,.28);color:var(--cyan)}
.notice{margin:10px 0;padding:9px 11px;border:1px solid rgba(255,182,72,.3);background:rgba(255,182,72,.08);border-radius:10px;color:#e8c48a;font-size:10px}
.analytics{display:grid;grid-template-columns:300px minmax(0,1fr);gap:12px;margin-top:12px}
.overlap{min-height:300px;display:grid;place-items:center;position:relative;overflow:hidden}
.overlap-title{position:absolute;top:13px;left:14px;font-weight:800;font-size:11px}
.venn{width:220px;height:180px;position:relative}
.circle{position:absolute;width:135px;height:135px;border-radius:50%;top:25px;display:grid;place-items:center;font-size:10px;font-weight:800}
.circle.a{left:18px;background:rgba(155,77,255,.28);border:1px solid rgba(201,162,255,.8)}
.circle.b{right:18px;background:rgba(62,230,255,.24);border:1px solid rgba(62,230,255,.75)}
.intersection{position:absolute;left:83px;top:72px;font-size:9px;text-align:center;z-index:2;color:#ece3ff}
.explorer{min-width:0}
.toolbar{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-bottom:9px}
.toolbar input{height:36px;flex:1;min-width:180px}
.tabs{display:flex;gap:5px}
.tab{border:1px solid var(--line);background:#170f2e;color:#a89bd6;padding:8px 9px;border-radius:8px;font-size:10px}.tab.active{color:#fff;border-color:#9b4dff;background:rgba(155,77,255,.2)}
.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;max-height:430px}
table{width:100%;border-collapse:collapse;min-width:520px}
th,td{text-align:left;padding:9px 10px;border-bottom:1px solid rgba(176,130,255,.14);font-size:11px}
th{position:sticky;top:0;background:#170f2e;color:#a89bd6;font-size:9px;text-transform:uppercase;letter-spacing:.08em;z-index:1}
td{color:#e4defa}
td:first-child{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.badge{display:inline-flex;padding:4px 7px;border-radius:999px;font-size:9px;font-weight:800}
.badge.common{color:var(--green);background:rgba(57,255,192,.1)}.badge.onlyA{color:var(--gold);background:rgba(255,78,203,.1)}.badge.onlyB{color:var(--cyan);background:rgba(62,230,255,.1)}.badge.duplicate{color:var(--danger);background:rgba(255,92,138,.1)}
.empty{padding:35px;text-align:center;color:#8a7fb0;font-size:11px}
.footer{text-align:center;color:#6a5f96;font-size:10px;padding:16px}
.toast{position:fixed;right:16px;bottom:16px;z-index:50;background:#170f2e;border:1px solid rgba(176,130,255,.3);border-radius:11px;padding:11px 13px;box-shadow:var(--shadow);transform:translateY(20px);opacity:0;pointer-events:none;transition:.2s;font-size:11px}.toast.show{transform:none;opacity:1}
.loading{opacity:.65;pointer-events:none}
@media(max-width:900px){
 .analytics{grid-template-columns:1fr}.overlap{min-height:250px}
}
@media(max-width:760px){
 .app{width:min(100% - 18px,620px);padding-top:9px}
 .topbar{top:5px}.hero{display:block;padding:20px 16px}.hero-badge{display:inline-block;margin-top:15px}
 .settings{grid-template-columns:1fr}
 .lists{grid-template-columns:1fr;gap:9px}.swap{margin:auto;transform:rotate(90deg)}
 .cards{grid-template-columns:1fr 1fr}.card{min-height:82px}.card-value{font-size:23px}
 .section{padding:12px}.list-card{padding:11px}textarea{min-height:210px}
 .section-head{align-items:flex-start}.actions .primary,.actions .secondary{flex:1}
}
@media(max-width:390px){.cards{grid-template-columns:1fr}.brand-sub{display:none}.topbar{padding:11px}}
