:root{--bg:#090b0f;--panel:#10141b;--line:#222936;--text:#eef2f7;--muted:#8993a3;--accent:#8cffc1;--warn:#ffd36b;--danger:#ff7d8c}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 70% 0,#16251f 0,#090b0f 38%);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,sans-serif}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.brand{display:flex;gap:12px;align-items:center}.brand b{font-size:20px}.brand small{display:block;color:var(--muted);font-size:11px}.shield{color:var(--accent);font-size:24px}.badge{border:1px solid #315843;color:var(--accent);padding:7px 10px;border-radius:99px;font-size:10px;letter-spacing:1px}main{max-width:1180px;margin:auto;padding:54px 24px}.hero{min-height:500px;display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent)}h1{font-size:54px;line-height:1.03;margin:16px 0}h1 em{font-style:normal;color:#87929f}p{max-width:650px;color:#a8b1bd;font-size:16px}.upload{margin-top:28px;min-height:120px;border:1px dashed #3b4653;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-direction:column;cursor:pointer;background:#0d1117}.upload:hover{border-color:var(--accent)}.upload input{display:none}.upload span{font-weight:700;font-size:16px}.upload small{color:var(--muted);margin-top:4px}.hero-art{height:350px;position:relative;display:grid;place-items:center}.ring{position:absolute;border:1px solid #254634;border-radius:50%;width:290px;height:290px}.r2{width:220px;height:220px;border-color:#315843}.core{width:120px;height:120px;border:1px solid #4c8768;border-radius:18px;display:grid;place-items:center;align-content:center;text-align:center;color:var(--accent);box-shadow:0 0 70px #173d2a;font-weight:800;font-size:24px}.core span{font-size:9px;letter-spacing:2px;color:var(--muted)}.scanline{position:absolute;width:330px;height:1px;background:var(--accent);opacity:.35;animation:scan 3s infinite}@keyframes scan{0%,100%{transform:translateY(-120px)}50%{transform:translateY(120px)}}#status{color:var(--muted);margin-top:12px}.result-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.result-head h2{margin:7px 0 2px}.hash{color:var(--muted);font:11px ui-monospace,monospace;word-break:break-all}.verdict{padding:15px 22px;border:1px solid #315843;border-radius:12px;color:var(--accent);font-weight:900;letter-spacing:2px}.verdict.medium{color:var(--warn);border-color:#6b5930}.verdict.high,.verdict.critical{color:var(--danger);border-color:#69343d}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0}.cards>div{background:var(--panel);border:1px solid var(--line);padding:18px;border-radius:10px}.cards span{display:block;color:var(--muted);font-size:9px;letter-spacing:1.5px}.cards strong{font-size:27px;margin-right:4px}.cards i{color:var(--muted);font-style:normal}.tabs{display:flex;gap:3px;border-bottom:1px solid var(--line);margin-bottom:16px}.tabs button{background:none;border:0;color:var(--muted);padding:12px 15px;cursor:pointer}.tabs button.active{color:var(--text);border-bottom:2px solid var(--accent)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px}.panel-title{display:flex;justify-content:space-between;align-items:center}.panel-title h3{margin:0}.panel-title span{color:var(--muted);font-size:12px}.finding{border:1px solid var(--line);padding:15px;border-radius:9px;margin-top:10px}.finding-top{display:flex;justify-content:space-between}.sev{font-size:9px;letter-spacing:1px;padding:4px 7px;border-radius:5px}.sev.critical,.sev.high{background:#3a1820;color:#ff91a0}.sev.medium{background:#392f16;color:#ffd36b}.why{color:#aab3bf;margin:6px 0}.evidence{font:11px ui-monospace,monospace;color:#788392}.notice{margin-top:18px;padding:14px;background:#141a20;border-left:2px solid var(--warn);color:#9da7b4}.netblock{margin:15px 0}.netblock h4{margin:0 0 8px}.pill{display:inline-block;padding:5px 8px;background:#171d25;border:1px solid #29313d;border-radius:6px;margin:3px;font:11px ui-monospace,monospace}.source-grid{display:grid;grid-template-columns:280px 1fr;gap:12px;margin-top:15px}.source-grid aside{max-height:560px;overflow:auto;border:1px solid var(--line)}.classbtn{display:block;width:100%;text-align:left;background:none;border:0;color:#aab3bf;padding:8px 10px;border-bottom:1px solid #171c24;cursor:pointer;font:11px ui-monospace,monospace}.classbtn:hover{background:#171d25;color:var(--accent)}pre{margin:0;white-space:pre-wrap;word-break:break-word;background:#080a0d;border:1px solid var(--line);padding:15px;border-radius:8px;color:#b8c2cf;overflow:auto;max-height:560px;font:11px/1.55 ui-monospace,SFMono-Regular,monospace}.actions{display:flex;gap:8px;justify-content:flex-end;margin-top:14px}.actions button{background:#151b22;border:1px solid var(--line);color:var(--text);padding:9px 13px;border-radius:7px;cursor:pointer}footer{border-top:1px solid var(--line);padding:22px 5vw;color:#697381;font-size:11px;text-align:center}@media(max-width:800px){.hero{grid-template-columns:1fr}.hero-art{display:none}.cards{grid-template-columns:repeat(2,1fr)}h1{font-size:38px}.source-grid{grid-template-columns:1fr}.result-head{align-items:flex-start;flex-direction:column}}

.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.cap-card{background:#0d1117;border:1px solid var(--line);border-radius:10px;padding:15px;text-align:left;color:var(--text);cursor:pointer}.cap-card:hover{border-color:#4c8768;transform:translateY(-1px)}.cap-card b{display:block;margin-top:8px}.cap-card small{display:block;color:var(--muted);margin-top:4px}.source-actions{margin-top:12px}.source-actions button{background:#151b22;border:1px solid var(--line);color:var(--text);padding:8px 11px;border-radius:7px;cursor:pointer}.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:20px;z-index:10}.modal-card{position:relative;max-width:620px;background:#10141b;border:1px solid #34404d;border-radius:14px;padding:26px;box-shadow:0 20px 80px rgba(0,0,0,.5)}.modal-card h3{margin-top:0}.modal-card p{font-size:15px;color:#b9c2cd}.modal-close{position:absolute;right:12px;top:8px;background:none;border:0;color:#9ba5b2;font-size:26px;cursor:pointer}@media(max-width:900px){.capability-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.capability-grid{grid-template-columns:1fr}}

/* ── Auto-Crack panel ─────────────────────────────────────────── */
.crack-zone { padding: 18px 0; display: flex; flex-direction: column; gap: 14px; }
.crack-desc { color: var(--fg-muted, #8993a3); font-size: .92rem; margin: 0; line-height: 1.6; }
.crack-desc code { background: rgba(255,255,255,.07); padding: 1px 5px; border-radius: 4px; font-size:.88rem; }
#crackbtn {
  align-self: flex-start;
  background: linear-gradient(135deg,#7c3aed,#4f46e5);
  color: #fff; border: none; padding: 10px 22px;
  border-radius: 7px; font-size: .95rem; font-weight: 600;
  cursor: pointer; transition: opacity .15s;
}
#crackbtn:hover { opacity: .85; }
#crackbtn:disabled { opacity: .45; cursor: default; }
.crack-status { font-size: .93rem; font-weight: 600; color: var(--accent, #7c3aed); min-height: 1.2em; }
.crack-log {
  background: #0d0d14; border: 1px solid #2a2a3a;
  border-radius: 8px; padding: 12px 16px;
  font-family: monospace; font-size: .82rem;
  color: #a8b3c8; white-space: pre-wrap; max-height: 240px; overflow-y: auto;
}
.crack-dl {
  align-self: flex-start;
  background: #16a34a; color: #fff; border: none;
  padding: 9px 20px; border-radius: 7px; font-size: .93rem;
  font-weight: 600; cursor: pointer; transition: opacity .15s;
}
.crack-dl:hover { opacity: .85; }

