*{margin:0;padding:0;box-sizing:border-box}#app{width:100vw;height:100vh;background:#000;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Droid Sans Mono,Source Code Pro,monospace;color:#fff}.container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}.qr-section{display:grid;grid-template-columns:auto 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;max-width:90vw;max-height:90vh;padding:2rem;scale:1}.qr-wrapper{display:flex;flex-direction:column;gap:1rem}.qr-code{background:#fff;padding:1rem;border:2px solid #fff}.refresh-button{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:clamp(.5rem,1vw,.75rem) clamp(1rem,2vw,1.5rem);background:transparent;border:1px solid #333;color:#666;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Droid Sans Mono,Source Code Pro,monospace;font-size:clamp(.625rem,1.2vw,.875rem);font-weight:400;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.refresh-button:hover{border-color:#666;color:#fff}.refresh-button:active{border-color:#fff;color:#fff}.refresh-button svg{width:clamp(14px,2vw,20px);height:clamp(14px,2vw,20px)}.qr-info{display:flex;flex-direction:column;gap:2rem}.room-id{font-size:clamp(2rem,5vw,4rem);font-weight:400;letter-spacing:.2em;color:#fff;font-variant-numeric:tabular-nums;border-left:4px solid #ff0000;padding-left:1rem}.instruction{font-size:clamp(1rem,2vw,1.5rem);line-height:1.8;color:#888;max-width:500px;font-weight:300}.instruction-title{font-size:clamp(.875rem,1.5vw,1.125rem);text-transform:uppercase;letter-spacing:.15em;color:#666;margin-bottom:1rem;font-weight:500}.instruction-steps{display:flex;flex-direction:column;gap:.75rem}.instruction-step{display:grid;grid-template-columns:2rem 1fr;gap:1rem;align-items:start}.step-number{width:clamp(2rem,4vw,3rem);height:clamp(2rem,4vw,3rem);border:1px solid #333;display:flex;align-items:center;justify-content:center;font-size:clamp(1rem,1.5vw,1.25rem);color:#666}.video-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#000}.remote-video{width:100vw;height:100vh;object-fit:contain;background:#000}.status{position:fixed;top:2rem;right:2rem;padding:.5rem 1.25rem;font-size:.75rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;z-index:20;border:1px solid;background:#000}.status.connecting{border-color:#ff0;color:#ff0}.status.connected{border-color:#0f0;color:#0f0}.status.disconnected{border-color:red;color:red}.loading{display:flex;flex-direction:column;align-items:center;gap:2rem;font-size:.875rem;color:#666;letter-spacing:.1em;text-transform:uppercase;animation:pulse 2s ease-in-out infinite}.loading-logo{width:clamp(100px,15vw,180px);height:clamp(100px,15vw,180px);object-fit:contain;animation:none}.waiting-device{display:flex;flex-direction:column;align-items:center;gap:2rem}.waiting-spinner{width:80px;height:80px;border:2px solid #333;border-top:2px solid #fff;border-radius:50%;animation:spin 1s linear infinite}.waiting-text{font-size:clamp(1.5rem,3vw,2.5rem);font-weight:400;letter-spacing:.2em;color:#fff;text-transform:uppercase;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Droid Sans Mono,Source Code Pro,monospace}.waiting-subtext{font-size:clamp(.875rem,1.5vw,1.125rem);color:#666;letter-spacing:.1em;text-transform:uppercase;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Droid Sans Mono,Source Code Pro,monospace}.cancel-button{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:clamp(.875rem,1.5vw,1.125rem) clamp(1.5rem,3vw,2rem);margin-top:1rem;background:transparent;border:1px solid #ff0000;color:red;font-family:SF Mono,Monaco,Inconsolata,Fira Code,Droid Sans Mono,Source Code Pro,monospace;font-size:clamp(.875rem,1.5vw,1.125rem);font-weight:400;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s ease}.cancel-button:hover{background:red;color:#000}.cancel-button:active{background:#fff;color:#000;border-color:#fff}.cancel-button svg{width:clamp(16px,2vw,20px);height:clamp(16px,2vw,20px)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.qr-section{grid-template-columns:1fr;gap:2rem;justify-items:center;text-align:center}.qr-wrapper{align-items:center}.refresh-button{width:100%;max-width:380px}.room-id{border-left:none;border-top:4px solid #ff0000;padding-left:0;padding-top:1rem}}
