:root{--bg:#0d0f14;--fg:#e6e6e6;--muted:#9aa1aa;--accent:#4ea1ff;--accent2:#ff6a3d;--panel:#161a22;--ok:#3ddc97;--warn:#ffd166}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--panel);border-bottom:1px solid #222}
h1{margin:0;font-size:20px}
.doc-links a{color:var(--accent);margin-right:12px;text-decoration:none}
.doc-links a:hover{text-decoration:underline}
main{padding:16px}
.controls{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}
.input-group{display:flex;flex-direction:column;gap:8px;background:var(--panel);padding:12px;border-radius:8px}
.input-group textarea{min-height:64px;resize:vertical;background:#0b0e13;color:var(--fg);border:1px solid #222;border-radius:6px;padding:8px}
.input-group input{background:#0b0e13;color:var(--fg);border:1px solid #222;border-radius:6px;padding:8px}
.input-row{display:flex;align-items:center;gap:8px;background:var(--panel);padding:12px;border-radius:8px}
.buttons{display:flex;gap:8px;align-items:center;background:var(--panel);padding:12px;border-radius:8px}
button{background:var(--accent);color:#001b2e;border:none;border-radius:8px;padding:10px 14px;font-weight:600;cursor:pointer}
button#stopBtn{background:var(--accent2)}
button#resetBtn{background:#2d3441;color:var(--fg)}
.layout{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.panel{background:var(--panel);border-radius:10px;padding:12px}
.docs{display:grid;grid-template-rows:auto auto auto;gap:8px}
.pdf{width:100%;height:300px;border:1px solid #222;border-radius:8px}
.png{width:100%;border:1px solid #222;border-radius:8px;background:#0b0e13}
.meta{color:var(--muted);font-size:12px}
.graphs{display:grid;grid-template-columns:2fr 1fr;gap:16px;margin-top:16px}
.detector-stats{margin-top:16px}
#detectorStats{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.stat-card{background:var(--panel);padding:12px;border-radius:8px;border-left:4px solid var(--accent2)}
.stat-card h3{margin:0 0 8px 0;font-size:16px;color:var(--accent2)}
.stat-card p{margin:4px 0;font-size:14px}
.bobs-answer{margin-top:16px}
.answer-box{background:var(--panel);padding:16px;border-radius:8px;border-left:4px solid var(--ok);font-size:18px;font-weight:bold;color:var(--ok)}

.bobs-answer{margin-top:16px}
.answer-box{background:var(--panel);padding:16px;border-radius:8px;border-left:4px solid var(--ok);font-size:18px;font-weight:bold;color:var(--ok)}

.academic-details{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80vw;max-width:900px;height:80vh;background:var(--bg);border:1px solid var(--border);border-radius:12px;z-index:100;display:flex;flex-direction:column;box-shadow:0 10px 30px rgba(0,0,0,0.2)}.academic-details h2{padding:16px;margin:0;border-bottom:1px solid var(--border)}.close-btn{position:absolute;top:10px;right:10px;background:none;border:none;font-size:24px;color:var(--text);cursor:pointer}#academicContent{padding:16px;overflow-y:auto;flex-grow:1}
#log{background:#0b0e13;border:1px solid #222;border-radius:8px;min-height:120px;padding:8px;overflow:auto}
canvas{background:#0b0e13;border:1px solid #222;border-radius:8px}
