*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#0074fc;--primary-hover:#0060d6;--bg:#fff;--bg-secondary:#f8f9fa;--text:#1a1a1a;--text-muted:#6b7280;--border:#e5e7eb;--radius:12px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text)}.container,body{min-height:100vh}.container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem}.logo{margin-bottom:3rem}.card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem;width:100%;max-width:440px;box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}.title{font-size:1.75rem;font-weight:600;margin-bottom:.5rem;color:var(--text)}.subtitle,.title{text-align:center}.subtitle{color:var(--text-muted);margin-bottom:2rem;font-size:.95rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:var(--text)}.input{width:100%;padding:.875rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1rem;transition:border-color .2s,box-shadow .2s}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,116,252,.1)}.input::placeholder{color:var(--text-muted)}.btn{width:100%;padding:1rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.btn:hover{background:var(--primary-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.divider{display:flex;align-items:center;margin:1.5rem 0;color:var(--text-muted);font-size:.875rem}.divider:after,.divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.divider span{padding:0 1rem}.btn-secondary{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-muted)}.room-link{margin-top:1.5rem;padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;gap:.75rem}.room-link input{flex:1 1;background:transparent;border:none;color:var(--text);font-size:.875rem}.room-link input:focus{outline:none}.copy-btn{padding:.5rem 1rem;background:var(--primary);color:#fff;border:none;border-radius:6px;font-size:.875rem;cursor:pointer;white-space:nowrap}.copy-btn:hover{background:var(--primary-hover)}.footer{margin-top:2rem;color:var(--text-muted);font-size:.8rem;text-align:center}@media (max-width:480px){.card{padding:1.5rem}.title{font-size:1.5rem}}