:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.home{max-width:1200px;margin:0 auto}.hero{text-align:center;padding:4rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;margin-bottom:3rem;box-shadow:0 10px 30px #0003}.hero h1{font-size:3rem;margin-bottom:1rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.hero .subtitle{font-size:1.3rem;opacity:.95}.status-section{margin-bottom:3rem}.status-section h2{color:#333;margin-bottom:1.5rem;font-size:2rem}.status-card{background:#fff;border-radius:15px;padding:2rem;box-shadow:0 10px 30px #0000001a;transition:transform .3s ease}.status-card:hover{transform:translateY(-5px)}.status-card.checking{border-left:4px solid #f39c12}.status-card.connected{border-left:4px solid #2ecc71}.status-card.error{border-left:4px solid #e74c3c}.status-header{display:flex;align-items:center;margin-bottom:1.5rem}.status-dot.connected{background-color:#2ecc71}.status-dot.error{background-color:#e74c3c}.status-label{font-weight:600;font-size:1.3rem}.status-message{color:#666;margin:1rem 0;padding:1rem;background:#f8f9fa;border-radius:8px}.api-info{background:#f8f9fa;padding:1.5rem;border-radius:10px;margin-top:1rem}.api-info p{margin:.5rem 0;color:#555}.api-info strong{color:#333}.phase-section{margin-bottom:3rem}.phase-section h2{color:#333;margin-bottom:1.5rem;font-size:2rem}.phase-card{background:#fff;border-radius:15px;padding:2rem;box-shadow:0 10px 30px #0000001a;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.phase-card p{color:#666;font-size:1.2rem;flex:1}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1rem 2rem;border-radius:10px;text-decoration:none;font-weight:600;transition:all .3s;white-space:nowrap}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 5px 15px #764ba266}.features h2{color:#333;margin-bottom:1.5rem;font-size:2rem}.feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.feature-card{background:#fff;border-radius:15px;padding:2rem;box-shadow:0 10px 30px #0000001a;text-align:center;transition:all .3s}.feature-card:hover{transform:translateY(-5px);box-shadow:0 15px 40px #00000026}.feature-card h3{color:#764ba2;margin-bottom:1rem;font-size:1.5rem}.feature-card p{color:#666;font-size:1.1rem}@media(max-width:768px){.hero h1{font-size:2.2rem}.phase-card{flex-direction:column;text-align:center}.btn-primary{width:100%}}.db-test{max-width:1200px;margin:0 auto;padding:20px}.db-test h1{color:#333;margin-bottom:2rem;text-align:center;font-size:2.5rem}.db-status-card{background:#fff;border-radius:15px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 30px #0000001a;transition:transform .3s ease}.db-status-card:hover{transform:translateY(-5px)}.db-status-card h2{color:#333;margin-bottom:1.5rem;font-size:1.5rem;border-bottom:2px solid #f0f0f0;padding-bottom:.5rem}.status-indicator{display:flex;align-items:center;margin-bottom:1rem;padding:1rem;background:#f8f9fa;border-radius:10px}.status-dot{width:16px;height:16px;border-radius:50%;margin-right:12px}.status-dot.checking{background-color:#f39c12;animation:pulse 1.5s infinite}.status-dot.connected{background-color:#2ecc71;box-shadow:0 0 10px #2ecc7180}.status-dot.error{background-color:#e74c3c;box-shadow:0 0 10px #e74c3c80}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.status-text{font-weight:600;font-size:1.2rem}.message-form-card{background:#fff;border-radius:15px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 30px #0000001a}.message-form-card h2{color:#333;margin-bottom:1.5rem;font-size:1.5rem}.message-form-card form{display:flex;gap:1rem}.message-input{flex:1;padding:1rem;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;transition:all .3s}.message-input:focus{outline:none;border-color:#764ba2;box-shadow:0 0 0 3px #764ba21a}.message-input:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:1rem 2.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;white-space:nowrap}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #764ba266}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.messages-card{background:#fff;border-radius:15px;padding:2rem;margin-bottom:2rem;box-shadow:0 10px 30px #0000001a}.messages-card h2{color:#333;margin-bottom:1.5rem;font-size:1.5rem}.messages-list{display:flex;flex-direction:column;gap:1rem;max-height:400px;overflow-y:auto;padding-right:10px}.messages-list::-webkit-scrollbar{width:8px}.messages-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.messages-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px}.message-item{background:#f8f9fa;padding:1.2rem;border-radius:10px;border-left:4px solid #764ba2;transition:transform .2s}.message-item:hover{transform:translate(5px)}.message-content{color:#333;margin-bottom:.5rem;font-weight:500;font-size:1.1rem}.message-time{color:#666;font-size:.9rem}.no-messages{color:#666;text-align:center;padding:3rem;background:#f8f9fa;border-radius:10px;font-style:italic;font-size:1.1rem}.info-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:15px;padding:2rem;color:#fff;box-shadow:0 10px 30px #0003}.info-card h3{margin-bottom:1.5rem;font-size:1.3rem;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:.5rem}.info-card p{margin:.8rem 0;padding-left:1rem;border-left:3px solid rgba(255,255,255,.5)}.success-message{background:#d4edda;color:#155724;padding:1rem;border-radius:10px;margin-top:1rem;border:1px solid #c3e6cb;animation:slideIn .3s ease}.error-message{background:#f8d7da;color:#721c24;padding:1rem;border-radius:10px;margin-top:1rem;border:1px solid #f5c6cb;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.message-form-card form{flex-direction:column}.btn-submit{width:100%}.db-test h1{font-size:2rem}}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh}.app{display:flex;flex-direction:column;min-height:100vh}.navbar{background:#fff;padding:1rem 2rem;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;align-items:center}.nav-brand a{font-size:1.5rem;font-weight:700;color:#764ba2;text-decoration:none}.nav-links{display:flex;gap:2rem}.nav-links a{color:#333;text-decoration:none;font-weight:500;transition:color .3s}.nav-links a:hover{color:#764ba2}.main-content{flex:1;padding:2rem}.footer{background:#fff;text-align:center;padding:1rem;color:#666;border-top:1px solid #e0e0e0}
