:root{--primary-color: #3b82f6;--bg-dark: #111827;--text-light: #f3f4f6}body{margin:0;padding:0;overflow:hidden;background-color:var(--bg-dark);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text-light)}#app{position:relative;width:100vw;height:100vh}#camera-video{display:none}#output-canvas{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}#ui-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between}header{padding:20px;background:linear-gradient(to bottom,rgba(0,0,0,.6),transparent);text-align:center;pointer-events:auto}h1{margin:0;font-size:1.2rem;font-weight:600;letter-spacing:.5px}.controls{background:linear-gradient(to top,rgba(0,0,0,.8),transparent);padding:20px 20px 40px;pointer-events:auto;display:flex;flex-direction:column;gap:20px;align-items:center}.lens-selector{display:flex;gap:20px;overflow-x:auto;padding:10px;width:100%;justify-content:center}.lens-item{display:flex;flex-direction:column;align-items:center;gap:8px}.lens-btn{width:60px;height:60px;border-radius:50%;border:3px solid rgba(255,255,255,.2);cursor:pointer;transition:transform .2s,border-color .2s;background-size:cover;background-position:center;background-color:#000}.lens-name{font-size:.8rem;color:#ccc;text-align:center;max-width:80px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lens-btn.active{border-color:var(--primary-color);transform:scale(1.1)}#snapshot-btn{width:70px;height:70px;border-radius:50%;background-color:#fff;border:4px solid rgba(255,255,255,.5);cursor:pointer;transition:transform .1s}#snapshot-btn:active{transform:scale(.95)}#loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#000c;display:flex;justify-content:center;align-items:center;z-index:100;flex-direction:column;gap:15px}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
