:root{--bg:#0b0c0f;--panel:#14161b;--panel-2:#1b1e25;--border:#272b34;--border-soft:#20242c;--text:#e8eaed;--text-dim:#9aa1ad;--text-faint:#6b7280;--accent:#ff5a3c;--accent-soft:rgba(255,90,60,0.12);--green:#34d399;--blue:#60a5fa;--radius:12px;--max:880px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.wrap{max-width:var(--max);margin:0 auto;padding:56px 24px 80px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;letter-spacing:-.02em;font-size:15px;color:var(--text-dim);margin-bottom:28px}.brand .dot{width:9px;height:9px;border-radius:50%;background:var(--accent)}h1{font-size:30px;letter-spacing:-.03em;margin:0 0 8px;font-weight:700}.sub{color:var(--text-dim);margin:0 0 28px;font-size:15px;max-width:600px}.form{display:flex;gap:10px;margin-bottom:8px}.input{flex:1 1;background:var(--panel);border:1px solid var(--border);color:var(--text);padding:13px 15px;border-radius:var(--radius);font-size:15px;outline:none;transition:border-color .15s}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-faint)}.btn{background:var(--accent);color:#fff;border:none;padding:13px 22px;border-radius:var(--radius);font-size:15px;font-weight:600;cursor:pointer;transition:opacity .15s,transform .05s;white-space:nowrap}.btn:hover{opacity:.92}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.hint{font-size:12.5px;color:var(--text-faint);margin:0 2px 28px}.progress{margin:24px 0;padding:20px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius)}.progress .phase{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text);margin-bottom:14px}.spinner{width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex:none}@keyframes spin{to{transform:rotate(1turn)}}.bar{height:6px;background:var(--panel-2);overflow:hidden}.bar,.bar>span{border-radius:999px}.bar>span{display:block;height:100%;background:var(--accent);transition:width .25s ease}.progress .count{font-size:12.5px;color:var(--text-faint);margin-top:8px}.error{margin:24px 0;padding:16px 18px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.3);border-radius:var(--radius);color:#fca5a5;font-size:14px}.summary{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 18px}.stat{flex:1 1;min-width:130px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.stat .n{font-size:26px;font-weight:700;letter-spacing:-.02em}.stat .l{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.stat .n .accent{color:var(--accent)}.results-head{display:flex;align-items:baseline;justify-content:space-between;margin:26px 2px 12px}.results-head h2{font-size:16px;margin:0;letter-spacing:-.01em}.results-head .actions{display:flex;gap:8px;flex:none}.results-head .copy,.results-head .download{font-size:13px;padding:6px 14px;border-radius:8px;cursor:pointer;font-weight:500}.results-head .copy{color:var(--text-dim);background:none;border:1px solid var(--border)}.results-head .copy:hover{border-color:var(--text-faint);color:var(--text)}.results-head .download{color:#fff;background:var(--accent);border:1px solid var(--accent);font-weight:600}.results-head .download:hover{opacity:.92}.results-head .download:disabled{opacity:.55;cursor:not-allowed}.results{max-height:60vh;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:4px;margin:0 -4px}.results::-webkit-scrollbar{width:10px}.results::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;border:3px solid var(--bg)}.card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;transition:border-color .15s}.card:hover{border-color:#313641}.card-top{justify-content:space-between;gap:12px;cursor:pointer}.card-title,.card-top{display:flex;align-items:center}.card-title{gap:10px;font-weight:600;font-size:15px}.idx{font-size:12px;color:var(--text-faint);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;width:20px}.badges{display:flex;align-items:center;gap:8px}.badge{font-size:12px;padding:3px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:600;white-space:nowrap}.badge.cms{background:rgba(96,165,250,.12);color:var(--blue)}.chev{color:var(--text-faint);font-size:12px;transition:transform .15s}.chev.open{transform:rotate(90deg)}.card-meta{margin-top:8px;font-size:12.5px;color:var(--text-faint);display:flex;gap:14px;flex-wrap:wrap}.card-meta .rep{color:var(--text-dim)}.urls{margin-top:12px;border-top:1px solid var(--border-soft);padding-top:12px;display:flex;flex-direction:column;gap:6px}.urls a{font-size:13px;color:var(--text-dim);word-break:break-all}.urls a:hover{color:var(--blue)}.notes{margin-top:22px;font-size:12.5px;color:var(--text-faint)}.notes ul{margin:6px 0 0;padding-left:18px}.ai-summary{font-size:14px;color:var(--text-dim);margin:0 2px 18px;line-height:1.55}.section-label{font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint);font-weight:600;margin:0 2px 12px}.tmpl-desc{margin-top:8px;font-size:13px;color:var(--text-dim);line-height:1.5}.unique-wrap{max-height:46vh;overflow-y:auto;margin:0 -4px;padding:0 4px}.unique-wrap::-webkit-scrollbar{width:10px}.unique-wrap::-webkit-scrollbar-thumb{background:var(--border);border-radius:999px;border:3px solid var(--bg)}.group{margin-bottom:18px}.group-head{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin:0 0 6px;font-weight:600}.unique-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:7px 2px;border-bottom:1px solid var(--border-soft);font-size:13.5px}.unique-row .unique-name{color:var(--text)}.unique-row a{color:var(--text-faint);font-size:12.5px;text-align:right;word-break:break-all}.unique-row a:hover{color:var(--blue)}