*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{color:#fff;-webkit-font-smoothing:antialiased;background:#0a0a0a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:1rem;display:flex}.landing-screen{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;height:100%;display:flex}.landing-screen h1{font-size:1.5rem;font-weight:600}.landing-screen p{color:#999;font-size:.9rem}.scan-button{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#2563eb;border:none;border-radius:12px;padding:1rem 2rem;font-size:1.1rem;font-weight:500}.scan-button:active{background:#1d4ed8}.camera-screen{background:#000;width:100%;height:100%;position:relative}.camera-viewfinder{object-fit:cover;width:100%;height:100%}.capture-button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:4px solid #fff;border-radius:50%;width:72px;height:72px;padding:4px;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.capture-button-inner{background:#fff;border-radius:50%;width:100%;height:100%}.capture-button:active .capture-button-inner{background:#ccc}.processing-screen{width:100%;height:100%;position:relative}.preview-image{object-fit:cover;width:100%;height:100%}.processing-overlay{background:#0009;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:absolute;inset:0}.spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.result-screen{flex-direction:column;gap:1rem;width:100%;height:100%;padding:1rem;display:flex;overflow-y:auto}.result-image{object-fit:contain;border-radius:8px;width:100%;max-height:200px}.contact-card{background:#1a1a1a;border-radius:12px;padding:1.25rem}.contact-name{margin-bottom:.25rem;font-size:1.25rem;font-weight:600}.contact-title{color:#999;font-size:.9rem}.contact-company{color:#bbb;margin-bottom:.75rem;font-size:.9rem}.contact-section{border-top:1px solid #333;margin-top:.5rem;padding-top:.5rem}.contact-detail{color:#ddd;margin-bottom:.25rem;font-size:.9rem}.detail-label{color:#888;text-transform:capitalize}.result-actions{flex-direction:column;gap:.75rem;padding-bottom:1rem;display:flex}.scan-button.secondary{background:#333}.scan-button.secondary:active{background:#444}.error-screen{flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;height:100%;padding:2rem;display:flex}.error-message{color:#999;text-align:center;font-size:.95rem;line-height:1.5}
