:root{--primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--accent: #667eea;--background: #0a0a0a;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--text-primary: #ffffff;--text-secondary: #b4b4b4;--text-muted: #666666;--neon-blue: #00d4ff;--success: #4ade80;--error: #f87171;--warning: #fbbf24;--vh: 1vh}.app{display:flex;flex-direction:column;min-height:100vh;min-height:calc(var(--vh, 1vh) * 100)}.home-container{padding:60px 20px;animation:fadeInUp 1s ease-out}@keyframes fadeInUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.hero{text-align:center;margin-bottom:80px;position:relative}.hero:before{content:"";position:absolute;top:-50%;left:50%;transform:translate(-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(102,126,234,.3) 0%,transparent 70%);border-radius:50%;filter:blur(40px);z-index:-1}.hero h1{font-size:clamp(2.5rem,5vw,4rem);font-weight:900;margin-bottom:20px;background:linear-gradient(135deg,#ffffff 0%,#b4b4b4 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;line-height:1.2;animation:textGlow 3s ease-in-out infinite alternate}@keyframes textGlow{0%{filter:drop-shadow(0 0 10px rgba(255,255,255,.3))}to{filter:drop-shadow(0 0 30px rgba(255,255,255,.6))}}.hero p{font-size:1.3rem;color:var(--text-secondary);max-width:600px;margin:0 auto;font-weight:400}.session-options{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:80px}.create-session{animation:fadeInUp 1s ease-out .2s both}.join-session{animation:fadeInUp 1s ease-out .4s both}@media (max-width: 768px){.session-options{grid-template-columns:1fr;gap:30px}}.card h2{font-size:1.8rem;font-weight:700;margin-bottom:15px;background:var(--secondary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;transition:all .3s ease}.card:hover h2{transform:scale(1.05)}.card p{color:var(--text-secondary);margin-bottom:30px;font-size:1.1rem}.recent-sessions{margin-top:80px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:40px;border:1px solid var(--glass-border);animation:fadeInUp 1s ease-out .7s both}.recent-sessions h2{font-size:2rem;margin-bottom:30px;color:var(--text-primary);font-weight:700}.sessions-list{overflow-x:auto}.session-actions{display:flex;gap:10px}.btn-join,.btn-delete{padding:8px 16px;font-size:14px;border-radius:8px;font-weight:500;border:none;cursor:pointer;transition:all .3s ease}.btn-join{background:var(--accent);color:#fff}.btn-join:hover{transform:translateY(-2px);box-shadow:0 8px 25px #4facfe66}.btn-delete{background:var(--danger);color:#fff}.btn-delete:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ef444466}.features{margin-top:100px;animation:fadeInUp 1s ease-out .5s both}.features h2{text-align:center;font-size:2.5rem;margin-bottom:60px;background:var(--accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-weight:800;position:relative}.features h2:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:80px;height:4px;background:var(--accent);border-radius:2px}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px}.feature{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);padding:35px;border-radius:20px;text-align:center;border:1px solid var(--glass-border);transition:all .4s ease;position:relative;overflow:hidden}.feature:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(102,126,234,.1),transparent);animation:rotate 20s linear infinite;opacity:0;transition:opacity .3s ease}.feature:hover:before{opacity:1}@keyframes rotate{to{transform:rotate(360deg)}}.feature:hover{transform:translateY(-10px);box-shadow:0 20px 40px #0003;border-color:#667eea4d}.feature-icon{font-size:3rem;margin-bottom:20px;display:block;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.feature h3{font-size:1.4rem;margin-bottom:15px;color:var(--text-primary);font-weight:700;position:relative;z-index:1}.feature p{color:var(--text-secondary);line-height:1.6;position:relative;z-index:1}.session-container{padding:30px 20px;animation:fadeInUp .8s ease-out}.connection-banner{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:12px;padding:15px 20px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.connection-status{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-weight:500}.status-indicator{width:8px;height:8px;border-radius:50%;background:var(--neon-blue);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.connection-error{color:var(--neon-pink);font-size:14px}.session-info h2{font-size:1.8rem;font-weight:700;background:var(--primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.session-meta{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:14px}.connection-dot{width:6px;height:6px;border-radius:50%;background:var(--text-muted)}.connection-dot.connected{background:var(--neon-green);animation:pulse 2s infinite}.session-actions{display:flex;gap:10px;align-items:center}.video-form-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:12px;padding:20px;margin-bottom:20px;border:1px solid var(--glass-border)}.video-form{display:flex;gap:15px;align-items:flex-end}.video-form .form-group{flex:1;margin-bottom:0}.modern-input{width:100%;padding:12px 16px;border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.modern-input:focus{outline:none;border-color:var(--neon-blue);box-shadow:0 0 0 3px #00d4ff1a,0 0 20px #00d4ff33;transform:translateY(-1px);background:rgba(255,255,255,.1)}.modern-input::placeholder{color:var(--text-muted)}.video-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);background:var(--bg-secondary);border-radius:16px}.loading-spinner{width:40px;height:40px;border:3px solid var(--glass-border);border-top:3px solid var(--neon-blue);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:15px}.video-player{position:relative;width:100%;height:100%;border-radius:16px;overflow:hidden}.no-video{display:flex;align-items:center;justify-content:center;height:100%;background:var(--bg-secondary);border-radius:16px;border:2px dashed var(--glass-border)}.no-video-content{text-align:center;color:var(--text-secondary)}.no-video-icon{font-size:4rem;margin-bottom:20px;animation:float 3s ease-in-out infinite}.no-video-content h3{font-size:1.5rem;margin-bottom:10px;color:var(--text-primary)}.youtube-container,.html5-container{position:relative;width:100%;height:100%;border-radius:16px;overflow:hidden}.video-loading-overlay,.video-error-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;z-index:10;border-radius:16px}.error-icon{font-size:3rem;margin-bottom:15px}.youtube-player,.html5-player{width:100%;height:100%;border-radius:16px}.toast-notification{position:fixed;top:20px;right:20px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:12px;padding:15px 20px;color:var(--text-primary);font-weight:500;z-index:1000;transform:translate(100%);opacity:0;transition:all .3s ease}.toast-notification.show{transform:translate(0);opacity:1}.session-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding:25px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid var(--glass-border)}.session-header h2{font-size:1.8rem;font-weight:700;background:var(--primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.video-section{margin-bottom:40px}.video-form{display:flex;gap:15px;margin-bottom:20px}.video-container{position:relative;background:#000;border-radius:16px;overflow:hidden;aspect-ratio:16 / 9;box-shadow:0 20px 40px #0000004d}.video-controls{position:absolute;bottom:0;left:0;width:100%;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,transparent 100%);display:flex;justify-content:space-between;align-items:center;opacity:0;transition:opacity .3s ease;z-index:5}.video-container:hover .video-controls{opacity:1}.progress-container{position:absolute;bottom:70px;left:0;width:100%;padding:0 20px;z-index:6}.progress-bar{width:100%;height:5px;background:rgba(255,255,255,.2);border-radius:5px;cursor:pointer;position:relative}.progress-fill{position:absolute;top:0;left:0;height:100%;background:var(--accent);border-radius:5px;width:30%}.progress-handle{position:absolute;top:50%;transform:translate(-50%,-50%);width:15px;height:15px;background:white;border-radius:50%;left:30%;box-shadow:0 0 10px #00000080;opacity:0;transition:opacity .3s ease}.progress-bar:hover .progress-handle{opacity:1}.video-controls-left,.video-controls-right{display:flex;gap:15px;align-items:center}.video-control-button{background:transparent;color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;transition:all .2s ease;border:none;cursor:pointer}.video-control-button:hover{background:rgba(255,255,255,.2)}.video-time{color:#fff;font-size:.9rem;font-weight:500}.volume-container{display:flex;align-items:center;gap:10px}.volume-slider{width:80px;height:5px;background:rgba(255,255,255,.2);border-radius:5px;position:relative;cursor:pointer}.volume-fill{position:absolute;top:0;left:0;height:100%;background:white;border-radius:5px;width:70%}.interaction-section{display:grid;grid-template-columns:350px 1fr;gap:30px}.users-panel,.chat-panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;border:1px solid var(--glass-border);overflow:hidden}.users-panel{padding:25px}.user-list h3,.emoji-reactions h3,.chat-header h3{font-size:1.2rem;font-weight:700;margin-bottom:20px;color:var(--text-primary)}.user-avatar{width:35px;height:35px;border-radius:50%;background:var(--primary);display:flex;align-items:center;justify-content:center;margin-right:12px;font-weight:600;color:#fff}.emoji-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.emoji-button{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:12px;font-size:1.5rem;transition:all .3s ease;cursor:pointer}.emoji-button:hover{transform:scale(1.2);background:rgba(255,255,255,.1);box-shadow:0 8px 25px #667eea33}.chat-container{display:flex;flex-direction:column;height:500px;border-radius:16px;box-shadow:0 10px 30px #0003;overflow:hidden}.chat-header{padding:20px 25px;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.03)}.chat-header-actions{display:flex;gap:10px}.chat-header-button{background:rgba(255,255,255,.1);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;border:none;cursor:pointer;color:var(--text-secondary)}.chat-header-button:hover{background:rgba(255,255,255,.2);transform:translateY(-2px);color:var(--text-primary)}.messages-container{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:15px;background:rgba(0,0,0,.2)}.message{background:rgba(255,255,255,.05);padding:15px;border-radius:16px;max-width:80%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);position:relative;animation:messageAppear .3s ease-out}@keyframes messageAppear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.message-info{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.85rem;color:var(--text-muted)}.message-sender{font-weight:600;color:var(--neon-blue)}.message-time{font-size:.75rem}.message-content{line-height:1.5}.own-message{background:var(--primary);align-self:flex-end;color:#fff}.own-message .message-sender{color:#ffffffe6}.message-action-button{background:transparent;color:var(--text-primary);padding:3px;font-size:12px;border-radius:4px;width:auto;border:none;cursor:pointer}.message-action-button:hover{background:rgba(255,255,255,.1)}.message-form{display:flex;padding:15px 20px;border-top:1px solid rgba(255,255,255,.1);gap:12px;background:rgba(255,255,255,.03);align-items:center}.message-input{flex:1;border-radius:30px;padding:12px 20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);color:var(--text-primary);font-size:14px}.message-input:focus{outline:none;border-color:var(--neon-blue);box-shadow:0 0 0 3px #00d4ff1a}.message-actions-buttons{display:flex;gap:10px}.message-action{background:transparent;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;padding:0;color:var(--text-secondary);font-size:18px;transition:all .2s ease;border:none;cursor:pointer}.message-action:hover{background:rgba(255,255,255,.1);color:var(--neon-blue)}.send-button{background:var(--accent);color:#fff;padding:12px;border-radius:50%;width:45px;height:45px;display:flex;align-items:center;justify-content:center}.video-controls-overlay{position:absolute;top:15px;right:15px;z-index:100;display:flex;gap:10px}.speed-control{position:relative}.speed-control-button{background:rgba(0,0,0,.7);color:#fff;border:1px solid rgba(255,255,255,.2);border-radius:20px;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;gap:4px;min-width:60px;justify-content:center}.speed-control-button:hover{background:rgba(0,0,0,.8);border-color:#fff6;transform:translateY(-1px)}.speed-dropdown{position:absolute;top:100%;right:0;margin-top:5px;background:rgba(0,0,0,.9);border-radius:12px;padding:8px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);box-shadow:0 8px 32px #0000004d;animation:speedDropdownAppear .2s ease-out;min-width:120px}@keyframes speedDropdownAppear{0%{opacity:0;transform:scale(.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.speed-option{background:transparent;border:none;color:#fff;padding:8px 12px;font-size:13px;cursor:pointer;transition:all .15s ease;border-radius:8px;width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between}.speed-option:hover{background:rgba(255,255,255,.1)}.speed-option.active{background:var(--primary);color:#fff;font-weight:600}.speed-option.active:after{content:"✓";font-weight:700;margin-left:8px}.message-reactions{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;margin-bottom:5px}.reaction-badge{display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:4px 8px;font-size:12px;cursor:pointer;transition:all .2s ease;color:var(--text-primary);border:none}.reaction-badge:hover{background:rgba(255,255,255,.2);transform:scale(1.05)}.reaction-badge.reacted{background:var(--primary);border-color:var(--primary);color:#fff}.reaction-emoji{font-size:14px}.reaction-count{font-weight:600;font-size:11px}.message-actions{position:absolute;right:10px;bottom:-20px;display:flex;gap:5px;opacity:0;transition:all .2s ease;background:rgba(0,0,0,.5);border-radius:20px;padding:5px}.message:hover .message-actions{opacity:1;bottom:-15px}.reaction-button{background:transparent;color:var(--text-secondary);padding:5px;font-size:16px;border-radius:50%;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .2s ease}.reaction-button:hover{background:rgba(255,255,255,.1);color:var(--neon-blue);transform:scale(1.1)}.reaction-picker{position:absolute;bottom:40px;right:0;background:rgba(0,0,0,.9);border-radius:12px;padding:8px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;z-index:1000;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:reactionPickerAppear .2s ease-out}@keyframes reactionPickerAppear{0%{opacity:0;transform:scale(.8) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.reaction-option{background:transparent;border:none;font-size:20px;padding:8px;border-radius:8px;cursor:pointer;transition:all .2s ease;color:var(--text-primary);display:flex;align-items:center;justify-content:center}.reaction-option:hover{background:rgba(255,255,255,.1);transform:scale(1.2)}.send-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #4facfe66}.reactions-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:10}.floating-emoji{position:absolute;bottom:0;font-size:2.5rem;animation:floatUp 3s ease-out forwards;opacity:.9;filter:drop-shadow(0 0 10px rgba(255,255,255,.5))}@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:.9}50%{transform:translateY(-50px) scale(1.2);opacity:1}to{transform:translateY(-120px) scale(.8);opacity:0}}.emoji-counter{position:absolute;bottom:20px;right:20px;background:rgba(0,0,0,.6);border-radius:30px;padding:10px 15px;display:flex;gap:15px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);z-index:5}.emoji-count{display:flex;align-items:center;gap:5px;font-size:.9rem;color:var(--text-primary);transition:all .2s ease}.emoji-count:hover{transform:scale(1.2)}.emoji-count span{font-weight:600}.name-prompt-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.name-prompt-modal{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;padding:40px;width:90%;max-width:500px;border:1px solid var(--glass-border);box-shadow:0 20px 40px #0000004d;animation:slideUp .4s ease-out}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.name-prompt-buttons{display:flex;gap:15px}.name-prompt-buttons button{flex:1}.not-found{text-align:center;padding:100px 20px;animation:fadeInUp 1s ease-out}.not-found h1{font-size:4rem;font-weight:900;margin-bottom:20px;background:var(--danger);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.not-found p{font-size:1.3rem;color:var(--text-secondary);margin-bottom:40px}@media (max-width: 768px){.container{padding:0 15px}.home-container{padding:40px 15px}.hero{margin-bottom:50px}.hero h1{font-size:2.5rem;line-height:1.1}.hero p{font-size:1.1rem}.session-options{grid-template-columns:1fr;gap:25px;margin-bottom:50px}.create-session,.join-session{padding:25px}.form-group{margin-bottom:20px}.form-group input{padding:15px;font-size:16px}.btn{padding:15px 25px;font-size:16px;min-height:50px}.session-container{padding:15px}.session-header{flex-direction:column;align-items:flex-start;gap:15px;padding:20px 15px}.session-actions{flex-wrap:wrap;gap:10px}.session-actions .btn{flex:1;min-width:120px}.video-section{margin-bottom:25px}.video-form{flex-direction:column;width:100%;gap:15px}.video-form .form-group{margin-bottom:0}.video-form input{width:100%;padding:15px;font-size:16px}.video-form .btn{width:100%;padding:15px}.video-controls-overlay{top:10px;right:10px}.speed-control-button{padding:10px 15px;font-size:11px;min-width:55px}.speed-dropdown{min-width:110px;right:-10px}.interaction-section{grid-template-columns:1fr;gap:20px}.users-panel{order:2}.chat-panel{order:1}.chat-container{height:350px}.messages-container{padding:15px;gap:12px}.message{max-width:95%;padding:12px}.message-form{padding:15px;gap:10px}.message-input{padding:12px 15px;font-size:16px}.send-button{width:50px;height:50px;min-width:50px}.emoji-grid{grid-template-columns:repeat(6,1fr);gap:8px}.emoji-button{width:45px;height:45px;font-size:20px}.message-reactions{gap:4px;margin-top:6px}.reaction-badge{padding:3px 6px;font-size:11px}.reaction-emoji{font-size:12px}.reaction-count{font-size:10px}.reaction-picker{grid-template-columns:repeat(5,1fr);gap:3px;padding:6px}.reaction-option{font-size:18px;padding:6px}.users-list{max-height:200px}.user-item{padding:10px 15px}.sessions-table{font-size:13px}.sessions-table th,.sessions-table td{padding:10px 6px}.session-actions{flex-direction:column;gap:5px}.session-actions .btn-small{padding:8px 12px;font-size:12px}.feature-grid{grid-template-columns:1fr;gap:30px}.feature{padding:25px}.footer{padding:30px 0 15px}.footer-content{grid-template-columns:1fr;gap:30px}.connection-banner{padding:15px}.name-prompt-modal{margin:20px;padding:25px 20px}.name-prompt-buttons{flex-direction:column;gap:10px}.name-prompt-buttons .btn{width:100%}.toast-notification{left:15px;right:15px;bottom:20px;border-radius:12px}.theme-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);right:auto;margin-top:0;min-width:300px;max-width:90vw;max-height:80vh;overflow-y:auto}.theme-presets{grid-template-columns:1fr;gap:10px}.theme-preset{padding:15px}.preset-colors{grid-template-columns:repeat(4,1fr);gap:10px}.color-option{width:35px;height:35px}.session-theme-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);right:auto;margin-top:0;min-width:300px;max-width:90vw;max-height:80vh;overflow-y:auto}.session-theme-grid{grid-template-columns:1fr;gap:10px}.session-theme-option{padding:15px}}.footer{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);padding:40px 0 20px;margin-top:80px}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px;margin-bottom:30px}.footer-section h3{font-size:1.5rem;font-weight:700;margin-bottom:15px;background:var(--primary);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.footer-section h4{font-size:1.2rem;font-weight:600;margin-bottom:15px;color:var(--text-primary)}.footer-section p{color:var(--text-secondary);line-height:1.6}.footer-section ul{list-style:none;padding:0}.footer-section ul li{margin-bottom:8px;color:var(--text-secondary)}.footer-section ul li a{color:var(--text-secondary);text-decoration:none;transition:color .3s ease}.footer-section ul li a:hover{color:var(--neon-blue)}.footer-bottom{border-top:1px solid var(--glass-border);padding-top:20px;text-align:center;color:var(--text-muted)}.footer-bottom p{margin:0;font-size:.9rem}.theme-switcher{position:relative;display:inline-block}.theme-toggle-btn{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:50%;width:45px;height:45px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);font-size:18px}.theme-toggle-btn:hover{background:var(--glass-bg);border-color:var(--accent);transform:scale(1.05)}.theme-panel{position:absolute;top:100%;right:0;margin-top:10px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px;padding:20px;min-width:280px;z-index:1000;animation:themePanelAppear .3s ease-out;box-shadow:0 8px 32px #0000004d}@keyframes themePanelAppear{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.theme-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--glass-border)}.theme-panel-header h3{margin:0;color:var(--text-primary);font-size:1.2rem;font-weight:600}.close-btn{background:transparent;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-btn:hover{background:rgba(255,255,255,.1);color:var(--text-primary)}.theme-section{margin-bottom:20px}.theme-section h4{margin:0 0 12px;color:var(--text-primary);font-size:1rem;font-weight:600}.mode-toggle{display:flex;gap:8px;background:var(--glass-bg);border-radius:12px;padding:4px}.mode-btn{flex:1;background:transparent;border:none;padding:10px 15px;border-radius:8px;cursor:pointer;transition:all .2s ease;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:500}.mode-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px #0003}.mode-btn:hover:not(.active){background:rgba(255,255,255,.1);color:var(--text-primary)}.theme-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.theme-preset{background:var(--glass-bg);border:2px solid transparent;border-radius:12px;padding:12px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;overflow:hidden}.theme-preset:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:inherit;opacity:.8;z-index:1}.theme-preset.active{border-color:var(--accent);transform:scale(1.02);box-shadow:0 4px 16px #0000004d}.theme-preset:hover:not(.active){transform:translateY(-2px);box-shadow:0 4px 12px #0003}.preset-name{font-size:12px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);z-index:2;position:relative}.preset-preview{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.3);z-index:2;position:relative}.accent-color-section{position:relative}.current-color{display:flex;align-items:center;gap:12px;padding:12px;background:var(--glass-bg);border-radius:12px;cursor:pointer;transition:all .2s ease}.current-color:hover{background:rgba(255,255,255,.1)}.color-preview{width:30px;height:30px;border-radius:8px;border:2px solid var(--glass-border);cursor:pointer;transition:all .2s ease}.color-preview:hover{transform:scale(1.1);border-color:var(--accent)}.color-value{font-family:monospace;font-size:14px;color:var(--text-primary);font-weight:500}.color-picker{position:absolute;top:100%;left:0;right:0;margin-top:8px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:12px;padding:15px;z-index:1001;animation:colorPickerAppear .2s ease-out}@keyframes colorPickerAppear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.preset-colors{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:12px}.color-option{width:30px;height:30px;border-radius:8px;border:2px solid var(--glass-border);cursor:pointer;transition:all .2s ease}.color-option:hover{transform:scale(1.2);border-color:#fff;box-shadow:0 2px 8px #0000004d}.custom-color-input{width:100%;height:40px;border:none;border-radius:8px;cursor:pointer;background:transparent}.custom-color-input::-webkit-color-swatch-wrapper{padding:0;border-radius:8px;border:2px solid var(--glass-border)}.custom-color-input::-webkit-color-swatch{border:none;border-radius:6px}.theme-info{padding-top:15px;border-top:1px solid var(--glass-border);text-align:center}.theme-info p{margin:5px 0;font-size:12px;color:var(--text-secondary)}.theme-info strong{color:var(--text-primary)}.session-theme{position:relative;display:inline-block}.session-theme-btn{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:8px;padding:8px 12px;font-size:14px;cursor:pointer;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-primary);display:flex;align-items:center;gap:6px}.session-theme-btn:hover{background:var(--glass-bg);border-color:var(--accent);transform:translateY(-1px)}.session-theme-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.session-theme-panel{position:absolute;top:100%;right:0;margin-top:10px;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px;padding:20px;min-width:300px;z-index:1000;animation:sessionThemePanelAppear .3s ease-out;box-shadow:0 8px 32px #0000004d}@keyframes sessionThemePanelAppear{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.session-theme-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--glass-border)}.session-theme-header h4{margin:0;color:var(--text-primary);font-size:1.1rem;font-weight:600}.session-theme-content{display:flex;flex-direction:column;gap:15px}.session-theme-info{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.5}.current-session-theme{background:var(--glass-bg);border-radius:12px;padding:15px;border:1px solid var(--glass-border)}.current-session-theme p{margin:0 0 10px;color:var(--text-primary);font-size:14px}.clear-session-theme-btn{background:var(--error);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:12px;cursor:pointer;transition:all .2s ease}.clear-session-theme-btn:hover{background:var(--error);transform:translateY(-1px)}.session-theme-presets h5{margin:0 0 10px;color:var(--text-primary);font-size:1rem;font-weight:600}.session-theme-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.session-theme-option{background:var(--glass-bg);border:2px solid transparent;border-radius:12px;padding:12px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;overflow:hidden}.session-theme-option:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:inherit;opacity:.8;z-index:1}.session-theme-option.active{border-color:var(--accent);transform:scale(1.02);box-shadow:0 4px 16px #0000004d}.session-theme-option:hover:not(.active){transform:translateY(-2px);box-shadow:0 4px 12px #0003}.session-theme-name{font-size:12px;font-weight:600;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.5);z-index:2;position:relative}.session-theme-preview{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.3);z-index:2;position:relative}.session-theme-footer{padding-top:10px;border-top:1px solid var(--glass-border)}.session-theme-note{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.4}@media (max-width: 480px){.hero h1{font-size:2rem}.hero p{font-size:1rem}.card h2{font-size:1.4rem}.feature h3{font-size:1.1rem}.emoji-grid{grid-template-columns:repeat(4,1fr)}.name-prompt-modal{padding:20px 15px;margin:15px}.name-prompt-buttons{flex-direction:column}.session-header h2{font-size:1.3rem}.video-form input{font-size:16px;padding:12px}.message{max-width:98%;padding:10px}.speed-control-button{padding:8px 12px;font-size:10px;min-width:50px}.speed-dropdown{min-width:100px}.speed-option{padding:6px 10px;font-size:12px}}@media (max-width: 360px){.hero h1{font-size:1.8rem}.card h2{font-size:1.3rem}.feature h3{font-size:1rem}.emoji-grid{grid-template-columns:repeat(3,1fr)}.name-prompt-modal{padding:15px 10px;margin:10px}.session-header h2{font-size:1.2rem}.btn{padding:12px 20px;font-size:14px;min-height:45px}.message-input{padding:10px 12px;font-size:16px}.send-button{width:45px;height:45px;min-width:45px}.emoji-button{width:40px;height:40px;font-size:18px}.reaction-picker{grid-template-columns:repeat(4,1fr);gap:2px;padding:4px}.reaction-option{font-size:16px;padding:4px}}@media (hover: none) and (pointer: coarse){.btn{min-height:44px}.emoji-button,.reaction-button,.speed-control-button{min-width:44px;min-height:44px}.reaction-option{min-height:44px}.emoji-grid{gap:12px}.reaction-picker{gap:8px}.btn:hover,.emoji-button:hover,.reaction-button:hover,.speed-control-button:hover,.reaction-option:hover{transform:none}.btn:active,.emoji-button:active,.reaction-button:active,.speed-control-button:active,.reaction-option:active{transform:scale(.95);opacity:.8}}@media (max-width: 768px) and (orientation: landscape){.hero{margin-bottom:30px}.hero h1{font-size:2rem}.session-options{grid-template-columns:1fr 1fr;gap:20px}.interaction-section{grid-template-columns:1fr 1fr;gap:15px}.chat-container{height:250px}.users-list{max-height:150px}.video-section{margin-bottom:15px}.session-header{flex-direction:row;align-items:center;padding:15px}.session-actions{flex-direction:row}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--secondary: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);--accent: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);--success: linear-gradient(135deg, #43e97b 0%, #38f9d7 100%);--danger: linear-gradient(135deg, #fa709a 0%, #fee140 100%);--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--bg-card: rgba(255, 255, 255, .05);--bg-glass: rgba(255, 255, 255, .08);--text-primary: #ffffff;--text-secondary: #e0e0e0;--text-muted: #888888;--glass-bg: rgba(255, 255, 255, .08);--glass-border: rgba(255, 255, 255, .12);--glass-shadow: 0 20px 40px rgba(0, 0, 0, .4);--neon-blue: #00d4ff;--neon-purple: #a855f7;--neon-pink: #ec4899;--neon-green: #10b981}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;background:var(--bg-primary);background-attachment:fixed;background-image:radial-gradient(circle at 20% 50%,rgba(102,126,234,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(240,147,251,.15) 0%,transparent 50%),radial-gradient(circle at 40% 80%,rgba(79,172,254,.15) 0%,transparent 50%);color:var(--text-primary);line-height:1.6;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(2px 2px at 20px 30px,rgba(255,255,255,.1),transparent),radial-gradient(2px 2px at 40px 70px,rgba(255,255,255,.1),transparent),radial-gradient(1px 1px at 90px 40px,rgba(255,255,255,.1),transparent),radial-gradient(1px 1px at 130px 80px,rgba(255,255,255,.1),transparent),radial-gradient(2px 2px at 160px 30px,rgba(255,255,255,.1),transparent);background-repeat:repeat;background-size:200px 100px;animation:sparkle 20s linear infinite;pointer-events:none;z-index:-1}@keyframes sparkle{0%{transform:translateY(0)}to{transform:translateY(-100px)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px}.app{display:flex;flex-direction:column;min-height:100vh}main{flex:1;padding:20px 0}.header{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--glass-border);padding:20px 0;position:sticky;top:0;z-index:100;animation:slideDown .8s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px}.logo h1{background:var(--primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:28px;font-weight:700;margin:0;letter-spacing:-.5px}nav ul{display:flex;list-style:none;gap:30px}nav ul li a{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:all .3s ease;position:relative}nav ul li a:hover{color:var(--text-primary)}nav ul li a:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--primary);transition:width .3s ease}nav ul li a:hover:after{width:100%}.container{max-width:1200px;margin:0 auto;padding:0 20px}.card{background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;padding:30px;box-shadow:var(--glass-shadow);transition:all .3s ease;position:relative;overflow:hidden;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--primary);opacity:0;transition:opacity .3s ease}.card:hover{transform:translateY(-5px);box-shadow:0 30px 60px #00000080}.card:hover:before{opacity:1}.btn{padding:12px 24px;border:none;border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn:hover:before{left:100%}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 4px 15px #667eea66;position:relative}.btn-primary:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--primary);border-radius:12px;filter:blur(20px);opacity:0;transition:opacity .3s ease;z-index:-1}.btn-primary:hover:after{opacity:.5}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea99}.btn-secondary{background:var(--secondary);color:#fff;box-shadow:0 4px 15px #f093fb66;position:relative}.btn-secondary:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--secondary);border-radius:12px;filter:blur(20px);opacity:0;transition:opacity .3s ease;z-index:-1}.btn-secondary:hover:after{opacity:.5}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #f093fb99}.btn-small{padding:8px 16px;font-size:12px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-secondary);font-size:14px}.form-group input{width:100%;padding:12px 16px;border:1px solid var(--glass-border);border-radius:12px;background:var(--glass-bg);color:var(--text-primary);font-size:14px;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-group input:focus{outline:none;border-color:var(--neon-blue);box-shadow:0 0 0 3px #00d4ff1a,0 0 20px #00d4ff33;transform:translateY(-1px);background:rgba(255,255,255,.1)}.form-group input::placeholder{color:var(--text-muted)}.sessions-table{width:100%;border-collapse:collapse;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:16px;overflow:hidden;box-shadow:var(--glass-shadow)}.sessions-table th{background:var(--bg-tertiary);padding:16px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--glass-border)}.sessions-table td{padding:16px;border-bottom:1px solid var(--glass-border);color:var(--text-primary)}.sessions-table tr:hover{background:rgba(255,255,255,.05);transform:scale(1.01);box-shadow:0 4px 15px #0000001a;transition:all .3s ease}.error-message{background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);color:#fff;padding:16px 20px;border-radius:12px;margin:20px 0;box-shadow:0 4px 15px #ef44444d;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-muted)}.loading:after{content:"";width:20px;height:20px;border:2px solid var(--glass-border);border-top:2px solid var(--neon-blue);border-radius:50%;animation:spin 1s linear infinite;margin-left:10px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.scroll-animate{opacity:0;transform:translateY(30px);transition:all .6s ease}.scroll-animate.animate{opacity:1;transform:translateY(0)}@media (max-width: 768px){.header-content{flex-direction:column;gap:15px}nav ul{gap:20px}.card{padding:20px}.sessions-table{font-size:14px}.sessions-table th,.sessions-table td{padding:12px}}@media (max-width: 480px){.container{padding:0 15px}.card{padding:15px}.btn{padding:10px 20px;font-size:13px}}
