*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden;background:linear-gradient(135deg,#0f0c29,#302b63,#24243e);color:#fff}#root{width:100vw;height:100vh}.app{position:relative;width:100%;height:100%;overflow:hidden}.app:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(120,119,198,.3) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(240,56,255,.2) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(88,101,242,.2) 0%,transparent 50%);animation:gradientShift 15s ease infinite;pointer-events:none;z-index:0}@keyframes gradientShift{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.room-controls{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;background:linear-gradient(145deg,#1e1e3cf2,#141428f2);padding:40px 50px;border-radius:24px;box-shadow:0 8px 32px #0006,inset 0 1px #ffffff1a,0 0 60px #8a2be24d;display:flex;flex-direction:column;gap:20px;align-items:stretch;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);min-width:400px}.room-controls:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);border-radius:24px 24px 0 0}.room-controls h2{text-align:center;font-size:28px;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px;text-shadow:0 0 30px rgba(102,126,234,.5)}.room-controls input{padding:14px 18px;background:#ffffff0d;border:2px solid rgba(255,255,255,.1);border-radius:12px;font-size:16px;color:#fff;transition:all .3s ease;outline:none}.room-controls input:focus{border-color:#667eea;background:#ffffff14;box-shadow:0 0 20px #667eea4d}.room-controls input::placeholder{color:#fff6}.room-controls-buttons{display:flex;gap:12px}.room-controls button{flex:1;padding:14px 20px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;cursor:pointer;font-size:15px;font-weight:600;transition:all .3s ease;position:relative;overflow:hidden;text-transform:uppercase;letter-spacing:.5px}.room-controls button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.room-controls button:hover:before{left:100%}.room-controls button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea80}.room-controls button:active{transform:translateY(0)}.room-controls button:disabled{background:linear-gradient(135deg,#555,#333);cursor:not-allowed;opacity:.5}.room-controls button:disabled:hover{transform:none;box-shadow:none}.collab-status{position:fixed;top:24px;right:24px;z-index:1000;padding:12px 20px;border-radius:30px;font-size:13px;font-weight:600;display:flex;align-items:center;gap:10px;color:#fff;cursor:pointer;transition:all .3s ease;border:2px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.collab-status.connected{background:linear-gradient(135deg,#11998e,#38ef7d);box-shadow:0 4px 20px #38ef7d66;animation:pulse 2s ease-in-out infinite}.collab-status.disconnected{background:linear-gradient(135deg,#eb3349,#f45c43);box-shadow:0 4px 20px #eb334966}.collab-status.connecting{background:linear-gradient(135deg,#f093fb,#f5576c);box-shadow:0 4px 20px #f5576c66;animation:connecting 1.5s ease-in-out infinite}.collab-status:hover{transform:scale(1.05)}@keyframes pulse{0%,to{box-shadow:0 4px 20px #38ef7d66}50%{box-shadow:0 4px 30px #38ef7d99}}@keyframes connecting{0%,to{opacity:.8}50%{opacity:1}}.excalidraw-container{width:100vw;height:100vh;position:relative}.notification{position:fixed;bottom:24px;right:24px;padding:16px 24px;border-radius:16px;color:#fff;z-index:10001;animation:slideInBounce .5s cubic-bezier(.68,-.55,.265,1.55);font-weight:500;border:1px solid rgba(255,255,255,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);min-width:250px}.notification.info{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 25px #667eea66}.notification.error{background:linear-gradient(135deg,#eb3349,#f45c43);box-shadow:0 8px 25px #eb334966}.notification.success{background:linear-gradient(135deg,#11998e,#38ef7d);box-shadow:0 8px 25px #38ef7d66}@keyframes slideInBounce{0%{transform:translate(400px) scale(.5);opacity:0}60%{transform:translate(-10px) scale(1.05);opacity:1}to{transform:translate(0) scale(1);opacity:1}}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(400px);opacity:0}}.app-logo{position:fixed;top:24px;left:24px;z-index:999;font-size:24px;font-weight:800;background:linear-gradient(135deg,#667eea,#764ba2,#f093fb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:0 0 30px rgba(102,126,234,.5);cursor:pointer;transition:all .3s ease;letter-spacing:-1px}.app-logo:hover{transform:scale(1.05);filter:brightness(1.2)}.master-badge{background:linear-gradient(135deg,#f093fb,#f5576c);padding:4px 10px;border-radius:6px;font-size:10px;font-weight:700;letter-spacing:1px;box-shadow:0 2px 10px #f093fb66;animation:glow 2s ease-in-out infinite}@keyframes glow{0%,to{box-shadow:0 2px 10px #f093fb66}50%{box-shadow:0 2px 20px #f093fbb3}}.excalidraw-container canvas{box-shadow:0 4px 20px #0003}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:8px}.status-dot.connected{background:#38ef7d;box-shadow:0 0 10px #38ef7d99;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.8}}@media (max-width: 768px){.room-controls{min-width:320px;padding:30px 25px}.room-controls h2{font-size:22px}.app-logo{font-size:18px;top:16px;left:16px}.collab-status{top:16px;right:16px;font-size:11px;padding:8px 12px}}@media (max-width: 480px){.room-controls{min-width:280px;padding:25px 20px}.room-controls-buttons{flex-direction:column}.room-controls button{width:100%}}
