*{margin:0;padding:0;box-sizing:border-box}:root{font-family:Segoe UI,system-ui,-apple-system,sans-serif;color:#f0f0f0;background-color:#0a0a0a}body{min-height:100vh;min-height:100dvh;overflow:hidden}#root{width:100%;height:100vh;height:100dvh}.app{width:100%;height:100%;display:flex;flex-direction:column}.landing{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;gap:2rem}.landing h1{font-size:2rem;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.landing p{color:#999;max-width:400px;line-height:1.6}.landing .instructions{background:#1a1a2e;border-radius:12px;padding:1.5rem;max-width:400px;width:100%;text-align:left}.landing .instructions h3{margin-bottom:.8rem;color:#ccc;font-size:.9rem;text-transform:uppercase;letter-spacing:1px}.landing .instructions ol{padding-left:1.2rem;color:#aaa;line-height:2;font-size:.95rem}.btn-scan{padding:1rem 3rem;font-size:1.1rem;font-weight:600;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 20px #667eea66}.btn-scan:hover{transform:translateY(-2px);box-shadow:0 6px 30px #667eea99}.btn-scan:active{transform:translateY(0)}.ar-container{position:relative;width:100%;height:100%;overflow:hidden}.ar-controls{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;justify-content:space-between;align-items:center;padding:1rem;background:linear-gradient(to bottom,rgba(0,0,0,.5),transparent)}.btn-back{padding:.5rem 1.2rem;font-size:.9rem;font-weight:600;color:#fff;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:25px;cursor:pointer;transition:background .2s}.btn-back:hover{background:#ffffff40}.ar-status{font-size:.85rem;color:#fffc}.error-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;text-align:center;gap:1.5rem}.error-screen .error-icon{font-size:3rem}.error-screen h2{color:#e74c3c}.error-screen p{color:#999;max-width:400px;line-height:1.6}.setup-info{background:#111;border:1px dashed #333;border-radius:12px;padding:1.5rem;max-width:500px;width:100%;text-align:left;color:#aaa;font-size:.9rem;line-height:1.8}.setup-info code{background:#1a1a2e;padding:.2em .5em;border-radius:4px;font-size:.85rem;color:#667eea}
