body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{animation:slideIn .4s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0003;max-width:400px;padding:3rem 2.5rem;width:100%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.login-header{color:#fff;margin-bottom:2rem;text-align:center}.login-header h1{font-size:4rem;margin:0}.login-header h2{font-size:2rem;font-weight:700;margin:.5rem 0}.login-header p{margin:.5rem 0 0;opacity:.9}.login-form{gap:1.5rem}.form-group,.login-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#fff;font-size:.9rem;font-weight:600}.form-group input{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:10px;color:#fff;font-size:1rem;padding:.875rem;transition:all .3s ease}.form-group input::placeholder{color:#fff9}.form-group input:focus{background:#ffffff26;border-color:#fff9;outline:none}.error-message{background:#f4433633;border:1px solid #f4433680;border-radius:8px;color:#fff;font-size:.9rem;padding:.75rem}.login-button{background:#fff3;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:.5rem;padding:1rem;transition:all .3s ease}.login-button:hover:not(:disabled){background:#ffffff4d;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.login-button:disabled{cursor:not-allowed;opacity:.6}.login-hint{color:#ffffffb3;font-size:.85rem;margin-top:.5rem;text-align:center}.guest-button{background:#ffffff1a;border:2px solid #ffffff4d;border-radius:10px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;margin-top:.5rem;padding:.875rem;transition:all .3s ease}.guest-button:hover{background:#ffffff26;border-color:#ffffff80;transform:translateY(-1px)}.login-hints{border-top:1px solid #ffffff1a;color:#ffffffb3;display:flex;flex-direction:column;font-size:.8rem;gap:.25rem;margin-top:.75rem;padding-top:.75rem;text-align:center}.signup-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:1rem}.signup-card{animation:slideIn .4s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0003;max-width:450px;padding:3rem 2.5rem;width:100%}.signup-header{color:#fff;margin-bottom:2rem;text-align:center}.signup-header h1{font-size:4rem;margin:0}.signup-header h2{font-size:2rem;font-weight:700;margin:.5rem 0}.signup-header p{margin:.5rem 0 0;opacity:.9}.signup-form{display:flex;flex-direction:column;gap:1.25rem}.password-hint{color:#ffffffb3;display:block;font-size:.75rem;line-height:1.4;margin-top:.5rem}.signup-button{background:#fff3;border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:.5rem;padding:1rem;transition:all .3s ease}.signup-button:hover:not(:disabled){background:#ffffff4d;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.signup-button:disabled{cursor:not-allowed;opacity:.6}.switch-link{margin-top:1rem;text-align:center}.link-button,.switch-link{color:#fff;font-size:.9rem}.link-button{background:none;border:none;cursor:pointer;font-weight:600;padding:0;text-decoration:underline}.link-button:hover{opacity:.8}.success-message{color:#fff;padding:2rem;text-align:center}.success-message h1{animation:bounce .6s ease;font-size:5rem;margin:0}.success-message h2{font-size:2rem;margin:1rem 0}.success-message p{font-size:1.1rem;opacity:.9}.redirect-text{font-style:italic;margin-top:1.5rem;opacity:.7}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}@media (max-width:768px){.signup-card{padding:2rem 1.5rem}.signup-header h1{font-size:3rem}.signup-header h2{font-size:1.5rem}}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0000001a;padding:2rem;transition:transform .3s ease,box-shadow .3s ease}.stat-card:hover{box-shadow:0 12px 40px #0003;transform:translateY(-5px)}.stat-card h2{font-size:1.3rem;margin-bottom:1rem;opacity:.9}.stat-value{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.stat-detail{font-size:1.1rem;margin-bottom:1rem;opacity:.8}.progress-bar{background:#fff3;border-radius:10px;height:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:10px;height:100%;transition:width .5s ease}.connection-status{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border:1px solid #ffffff4d;border-radius:50px;box-shadow:0 4px 16px #0000001a;display:flex;gap:1rem;left:1rem;padding:.75rem 1.5rem;position:fixed;top:1rem;z-index:1000}.status-indicator{align-items:center;display:flex;gap:.5rem}.status-dot{animation:pulse 2s infinite;border-radius:50%;height:10px;width:10px}.connected .status-dot{background:#4caf50}.disconnected .status-dot{background:#f44336}.status-text{color:#000;font-size:.9rem;font-weight:600}.update-time{color:#000;font-size:.85rem;opacity:.8}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:768px){.connection-status{bottom:1rem;font-size:.85rem;padding:.5rem 1rem;right:1rem;top:auto}.update-time{display:none}}.temperature-chart-container{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:20px;box-shadow:0 8px 32px #0000001a;grid-column:1/-1;padding:2rem}.chart-wrapper{height:300px;position:relative}@media (max-width:768px){.chart-wrapper{height:200px}}*{box-sizing:border-box;margin:0;padding:0}body{background:#9c2748;background:linear-gradient(0deg,#9c2748 62%,#6cc04a 91%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Robot,sans-serif}.App,body{min-height:100vh}.App{color:#fff;padding:2rem}header{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:1fr auto 1fr;margin-bottom:3rem}.header-center{grid-column:2;text-align:center}header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:2px 2px 4px #0000004d}header p{font-size:1.1rem;opacity:.9}.stats-container{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1200px}.error,.loading{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;text-align:center}.error button{background:#fff3;border:2px solid #fff;border-radius:10px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem 2rem;transition:all .3s ease}.error button:hover{background:#ffffff4d;transform:scale(1.05)}.last-update{font-size:.9rem;margin-top:.5rem;opacity:.7}footer{font-size:.9rem;margin-top:3rem;opacity:.8;text-align:center}.header-right{align-items:center;display:flex;gap:1rem;grid-column:3;justify-self:end}.username{background:#ffffff1a;border-radius:8px;font-size:1rem;opacity:.9;padding:.5rem 1rem}.logout-button{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:.5rem 1.5rem;transition:all .3s ease}.logout-button:hover{background:#ffffff4d;transform:translateY(-2px)}@media (max-width:768px){header{grid-template-columns:1fr;text-align:center}header h1{font-size:2rem}.header-center{grid-column:1}.header-right{grid-column:1;justify-self:center}.stat-value{font-size:2rem}}
/*# sourceMappingURL=main.9eb6e615.css.map*/