:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;background:#0d0f1a;color:#f4f6fb}body{margin:0}a{color:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column}.hero{background:linear-gradient(120deg,#0f1c3f,#1c1142,#0c0c18);padding:3rem 1.5rem 2rem;border-bottom:1px solid #1d2540;box-shadow:0 10px 60px #0000004d}.hero-content{max-width:1100px;margin:0 auto;display:grid;gap:.75rem}.badge{display:inline-flex;align-items:center;gap:.5rem;background:#58a0ff33;color:#a9c9ff;padding:.35rem .75rem;border-radius:999px;border:1px solid rgba(88,160,255,.3);font-weight:600;letter-spacing:.02em}.title{font-size:clamp(2rem,3.5vw,3rem);margin:0;color:#e3e8ff}.subtitle{margin:0;color:#c9d4ff;max-width:740px}.controls{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1.25rem}.control-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);padding:1rem;border-radius:16px;display:grid;gap:.35rem;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.control-card label{color:#9db4ff;font-weight:600}select,input,button{width:100%;padding:.65rem .85rem;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#ffffff0f;color:#f8fbff;outline:none}button.primary{background:linear-gradient(120deg,#47bfff,#6a62ff);border:none;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}button.primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #47bfff40}.layout{flex:1;display:grid;grid-template-columns:3fr 2fr;gap:1rem;padding:1.25rem 1.5rem 2rem;max-width:1200px;margin:0 auto;width:100%}@media (max-width: 960px){.layout{grid-template-columns:1fr}}.panel{background:#ffffff05;border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:1rem;box-shadow:0 20px 60px #00000059}.panel h2{margin-top:0;color:#dbe6ff}.graph-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.node-card{padding:.9rem;border-radius:14px;border:1px solid rgba(255,255,255,.07);background:#ffffff08;position:relative;overflow:hidden}.node-card.highlight:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;padding:1px;background:linear-gradient(120deg,#00f5ff,#00ff8a,#4b69ff);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:glow 5s linear infinite}@keyframes glow{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}.node-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.label-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.45rem}.label{padding:.2rem .55rem;border-radius:10px;background:#47bfff33;color:#dff1ff;font-size:.8rem}.relationships{margin-top:1rem}.relationship-item{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.3rem;padding:.55rem;border-radius:10px;background:#ffffff08;border:1px dashed rgba(255,255,255,.1);color:#d1deff}.event-badge{display:inline-flex;align-items:center;gap:.4rem;background:#ff69b426;color:#ffc7e6;padding:.2rem .5rem;border-radius:999px;font-size:.85rem;font-weight:700}.scripture-card{padding:.75rem;border-radius:12px;background:#ffffff0a;border:1px solid rgba(255,255,255,.06)}.small-text{color:#9eb4ff}.footer{padding:1rem 1.5rem 1.5rem;text-align:center;color:#8aa2e5;border-top:1px solid rgba(255,255,255,.06);background:#00000040}.adsense{margin-top:1rem;padding:.75rem;border-radius:10px;border:1px dashed rgba(255,255,255,.15);color:#96a3c2;text-align:center;background:linear-gradient(120deg,#505d721a,#444d611a)}.reset-row{display:flex;gap:.75rem}.reset-row button{flex:1}.graph-panel{min-height:450px}.graph-container{border-radius:12px;overflow:hidden;background:#0000004d;border:1px solid rgba(255,255,255,.1)}.graph-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;font-size:.85rem}.legend-item{display:flex;align-items:center;gap:.4rem;color:#9eb4ff}.dot{width:12px;height:12px;border-radius:50%;border:2px solid #fff}.dot.person-ot{background:#47bfff}.dot.person-nt{background:#6a62ff}.dot.event-ot{background:#ff9f47}.dot.event-nt{background:#ff6b9d}
