.home-container{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:40px 20px}.home-header{color:#fff;margin-bottom:60px;padding:40px 20px;text-align:center}.home-header h1{font-size:3.5em;font-weight:700;margin:0;text-shadow:2px 2px 4px #0000004d}.home-header h2{font-size:1.8em;font-weight:400;margin:10px 0;opacity:.9}.home-header p{font-size:1.2em;margin-top:20px;opacity:.8}.apps-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin:0 auto;max-width:1200px;padding:0 20px}.app-card{background:#fff;border-left:5px solid #4caf50;border-radius:12px;box-shadow:0 10px 30px #0003;cursor:pointer;padding:30px;transition:all .3s ease}.app-card:hover{box-shadow:0 15px 40px #0000004d;transform:translateY(-10px)}.app-card h3{color:#333;font-size:1.6em;margin:0 0 15px}.app-description{color:#666;font-size:1em;line-height:1.6;margin-bottom:20px}.tech-stack{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tech-badge{background:#f0f0f0;border-radius:15px;color:#555;font-size:.85em;font-weight:500;padding:5px 12px}.launch-btn{background:#4caf50;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1em;font-weight:600;padding:12px;transition:all .3s ease;width:100%}.launch-btn:hover{opacity:.9;transform:scale(1.02)}.home-footer{color:#fff;margin-top:80px;opacity:.8;padding:20px;text-align:center}.home-footer p{font-size:.95em;margin:0}@media (max-width:768px){.home-header h1{font-size:2.5em}.home-header h2{font-size:1.4em}.apps-grid{grid-template-columns:1fr}}.App{background:linear-gradient(135deg,#0f766e,#4338ca);color:#fff;font-family:Arial,sans-serif;min-height:100vh;padding:20px}.App>*{margin-left:auto;margin-right:auto;max-width:800px;position:relative;z-index:1}.back-btn{background-color:#6c757d;margin-bottom:1rem;padding:.5rem 1rem}.back-btn:hover{background-color:#545b62}h1{color:#fff;font-size:2rem;text-align:center;text-shadow:2px 2px 4px #0000004d}.samples-section,h1{margin-bottom:1.5rem}.samples-section{background:#fffffff2;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#1f2937;padding:1.5rem}.samples-label{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.sample-buttons{gap:1rem}.sample-btn{border:none;border-radius:6px;box-shadow:0 2px 4px #0000001a;cursor:pointer;flex:1 1;font-size:1rem;font-weight:600;min-width:120px;padding:.8rem 1.5rem;transition:all .3s ease}.positive-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.positive-btn:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.mixed-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.mixed-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 8px #0003;transform:translateY(-2px)}.negative-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.negative-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 8px #0003;transform:translateY(-2px)}form{background:#fffffff2;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#1f2937;padding:1.5rem}textarea{border:1px solid #ccc;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;resize:vertical;width:100%}button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.6rem 1.8rem}button:hover{background-color:#0056b3}.result{background:#fffffff2;border-left:4px solid #007bff;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#1f2937;margin-top:2rem;padding:1.5rem}.error{color:#dc2626}hr{border:none;border-top:1px solid #ccc;margin:3rem 0}.walkthrough{background:#fffffff2;border-left:5px solid #28a745;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#1f2937;padding:2rem}.walkthrough h2{color:#2d572c;margin-top:0}.walkthrough ul{list-style-type:disc;margin-top:1rem;padding-left:1.5rem}.walkthrough li{margin-bottom:.5rem}.walkthrough p{font-style:italic;margin-top:1.5rem}.nba-container{background:linear-gradient(135deg,#1e3a8a,#991b1b);color:#fff;min-height:100vh;padding:20px}.back-btn{background-color:#374151;border:none;border-radius:6px;font-size:.95rem;transition:background .3s}.back-btn:hover{background-color:#4b5563}.nba-header{margin-bottom:30px;text-align:center}.nba-header h1{color:#fff;font-size:2.5em;margin:0}.season-label{font-size:1.1em;margin-top:10px;opacity:.9}.mode-selector{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:12px;margin:0 auto 30px;max-width:800px;padding:20px}.mode-buttons{display:flex;gap:10px;justify-content:center;margin-bottom:15px}.mode-btn{background:#0000;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s}.mode-btn:hover{background:#ffffff1a}.mode-btn.active{background:#fff;border-color:#fff;color:#1e3a8a}.mode-description{font-size:.95em;margin:0;opacity:.9;text-align:center}.model-stats-card{background:#fffffff2;border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#1f2937;margin:0 auto 30px;max-width:800px;padding:20px}.model-stats-card h3{color:#1e3a8a;margin-top:0}.stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-item{background:#f3f4f6;border-radius:6px;display:flex;flex-direction:column;padding:10px}.stat-label{color:#6b7280;font-size:.85em;margin-bottom:5px}.stat-value{color:#1e3a8a;font-size:1.3em;font-weight:700}.available-players-section{background:#fffffff2;border-radius:12px;color:#1f2937;margin:0 auto 40px;max-width:1200px;padding:30px}.available-players-section h2{color:#1e3a8a;font-size:1.8em;margin-bottom:10px;margin-top:0;text-align:center}.section-subtitle{color:#6b7280;font-size:.95em;margin-bottom:25px;text-align:center}.position-accordion{display:flex;flex-direction:column;gap:12px}.position-section{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.position-header{align-items:center;background:#fff;border-left:5px solid #3b82f6;cursor:pointer;display:flex;gap:15px;padding:15px 20px;transition:all .3s}.position-header:hover{background:#f9fafb}.position-header.expanded{background:#f3f4f6}.position-title{color:#1f2937;flex:1 1;font-size:1.1em;font-weight:600}.player-count{color:#6b7280;font-size:.9em}.expand-icon{color:#6b7280;font-size:.8em}.position-players{animation:slideDown .3s ease-out;background:#f9fafb;border-top:1px solid #e5e7eb;padding:20px}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:1000px;opacity:1}}.players-table{background:#fff;border-collapse:collapse;border-radius:6px;box-shadow:0 1px 3px #0000001a;overflow:hidden;width:100%}.players-table thead{background:#1e3a8a;color:#fff}.players-table th{font-size:.9em;font-weight:600;padding:12px;text-align:left}.players-table td{border-bottom:1px solid #e5e7eb;font-size:.95em;padding:12px}.players-table tbody tr:hover{background:#f3f4f6}.players-table tbody tr:last-child td{border-bottom:none}.player-name-cell{color:#1e3a8a;font-weight:600}.predicted-optimal{background:#fef3c7!important}.predicted-optimal:hover{background:#fde68a!important}.team-section{margin:0 auto 40px;max-width:1200px}.team-section h2{color:#fff;font-size:2em;margin-bottom:30px;text-align:center}.team-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.player-card{background:#fff;border-left:5px solid #3b82f6;border-radius:12px;box-shadow:0 4px 6px #0000001a;color:#1f2937;padding:20px;transition:transform .3s,box-shadow .3s}.player-card:hover{box-shadow:0 10px 20px #0003;transform:translateY(-5px)}.player-header{align-items:center;display:flex;gap:10px;margin-bottom:10px}.position-badge{background:#3b82f6;border-radius:12px;color:#fff;font-size:.85em;font-weight:700;padding:4px 12px}.player-header h3{flex:1 1;font-size:1.3em;margin:0}.player-team{color:#6b7280;font-size:.9em;margin-bottom:15px}.player-stats{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:15px}.stat-row{align-items:center;background:#f3f4f6;border-radius:6px;display:flex;justify-content:space-between;padding:8px}.stat-row span{color:#6b7280;font-size:.9em}.stat-row strong{color:#1e3a8a;font-size:1.1em}.player-footer{border-top:1px solid #e5e7eb;padding-top:10px}.confidence{color:#059669;font-size:.9em;font-weight:600}.position-note{color:#f59e0b;font-size:.8em;font-style:italic;margin-top:5px}.court-section{margin:0 auto 40px;max-width:800px}.court-section h2{color:#fff;margin-bottom:20px;margin-top:0;text-align:center}.court-canvas-container,.info-section{background:#fffffff2;border-radius:12px;padding:30px}.info-section{color:#1f2937;margin:0 auto;max-width:900px}.info-section h2{color:#1e3a8a;margin-top:0;text-align:center}.info-content h3{color:#991b1b;margin-top:20px}.info-content p{line-height:1.6;margin:10px 0}.info-content ul{line-height:1.8}.info-content ul li{margin:8px 0}.loading{font-size:1.2em;padding:40px;text-align:center}.error{background:#991b1b;color:#fee2e2;margin:20px auto;max-width:600px;padding:20px}@media (max-width:768px){.nba-header h1{font-size:1.8em}.team-grid{grid-template-columns:1fr}.mode-buttons{flex-direction:column}}.image-classifier-app{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;min-height:100vh;padding:40px 20px}.back-btn{background:#fff3;border:2px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;margin-bottom:20px;padding:10px 20px;transition:all .3s ease}.back-btn:hover{background:#ffffff4d;transform:translateX(-5px)}.image-classifier-app h1{font-size:2.5em;margin:20px 0 10px;text-align:center}.subtitle{font-size:1.1em;margin-bottom:30px;opacity:.9;text-align:center}.controls-section{margin:30px auto;max-width:600px}.upload-controls{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.clear-btn,.predict-btn,.random-btn,.upload-btn{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;padding:12px 30px;transition:all .3s ease}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #fff;color:#fff}.upload-btn:hover{box-shadow:0 8px 20px #0000004d;transform:translateY(-2px)}.random-btn{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.random-btn:hover:not(:disabled){box-shadow:0 8px 20px #0000004d;transform:translateY(-2px)}.random-btn:disabled{cursor:not-allowed;opacity:.6}.clear-btn{background:#fff3;border:2px solid #fff;color:#fff}.clear-btn:hover{background:#ffffff4d}.image-preview{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;margin:30px auto;max-width:600px;padding:20px}.image-preview img{border-radius:8px;display:block;height:auto;width:100%}.predict-btn{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;display:block;font-size:18px;margin:20px auto;padding:15px 50px}.predict-btn:hover:not(:disabled){box-shadow:0 8px 20px #0000004d;transform:translateY(-2px)}.predict-btn:disabled{cursor:not-allowed;opacity:.6}.result-section{margin:40px auto;max-width:700px}.error{background:#ff3b3033;border:2px solid #ff3b30;border-radius:8px;color:#fff;font-size:16px;padding:15px;text-align:center}.prediction-card{background:#fffffff2;border-radius:12px;box-shadow:0 10px 40px #0000004d;color:#333;margin-bottom:30px;padding:30px;text-align:center}.prediction-card h2{color:#667eea;font-size:2em;margin:0 0 15px}.confidence{color:#666;font-size:1.3em;margin:10px 0}.actual-class{border-radius:8px;font-size:1.2em;font-weight:600;margin-top:15px;padding:10px}.actual-class.correct{background:#34c75933;color:#34c759}.actual-class.incorrect{background:#ff3b3033;color:#ff3b30}.probabilities{background:#fffffff2;border-radius:12px;box-shadow:0 10px 40px #0000004d;color:#333;padding:25px}.probabilities h3{color:#667eea;font-size:1.5em;margin:0 0 20px;text-align:center}.prob-bar-container{gap:20px}.prob-bar,.prob-bar-container{display:flex;flex-direction:column}.prob-bar{gap:8px}.prob-label{color:#333;font-size:1.1em;font-weight:600}.bar-wrapper{background:#e0e0e0;height:40px;overflow:hidden;position:relative}.bar,.bar-wrapper{border-radius:20px}.bar{align-items:center;display:flex;height:100%;padding-left:15px;transition:width .5s ease}.cat-bar{background:linear-gradient(90deg,#667eea,#764ba2)}.dog-bar{background:linear-gradient(90deg,#f093fb,#f5576c)}.prob-value{color:#333;font-size:1em;font-weight:600;position:absolute;right:15px;top:50%;transform:translateY(-50%)}.model-info{background:#fffffff2;box-shadow:0 10px 40px #0000004d;color:#333;margin:40px auto;max-width:800px;padding:30px}.model-info h2{color:#667eea;margin-top:0}.model-info ul{line-height:1.8}.model-info li{margin-bottom:10px}@media (max-width:768px){.image-classifier-app h1{font-size:2em}.upload-controls{flex-direction:column}.clear-btn,.random-btn,.upload-btn{width:100%}}.lstm-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:2rem 1rem}.lstm-container{margin:0 auto;max-width:900px}.lstm-header{color:#fff;margin-bottom:2rem;text-align:center}.lstm-header h1{font-size:2.5rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0003}.lstm-header .subtitle{font-size:1.1rem;margin:.5rem 0 0;opacity:.95}.lstm-main{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;padding:2rem}.input-section{margin-bottom:1.5rem}.input-section label{color:#333;display:block;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.input-section textarea{border:2px solid #e1e5eb;border-radius:8px;font-family:inherit;font-size:1rem;padding:1rem;resize:vertical;transition:border-color .2s;width:100%}.input-section textarea:focus{border-color:#667eea;outline:none}.input-section textarea::placeholder{color:#9ca3af}.sample-prompts{margin:1rem 0}.sample-prompts>p{color:#6b7280;font-size:.875rem;font-weight:500;margin:0 0 .5rem}.sample-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.sample-button{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.sample-button:hover{background:#e5e7eb;border-color:#667eea;color:#667eea}.button-group{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem}.btn{border:none;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover:not(:disabled){background:#e5e7eb}.btn-small{background:#f3f4f6;color:#374151;font-size:.875rem;padding:.5rem 1rem}.btn-small:hover{background:#e5e7eb}.complete-controls{align-items:center;display:flex;gap:.5rem}.num-words-select{background:#fff;border:2px solid #e1e5eb;border-radius:8px;cursor:pointer;font-size:.875rem;padding:.75rem}.error-message{margin-top:1rem}.results-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-top:1.5rem;padding:1.5rem}.results-section h2{color:#333;font-size:1.25rem;margin:0 0 .5rem}.results-section .hint{color:#6b7280;font-size:.875rem;margin:0 0 1rem}.predictions-grid{grid-gap:.75rem;display:grid;gap:.75rem}.prediction-card{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;overflow:hidden;padding:1rem;position:relative;transition:all .2s}.prediction-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea26;transform:translateX(4px)}.prediction-word{color:#374151;font-size:1.1rem;font-weight:600;z-index:1}.prediction-prob{color:#6b7280;font-size:.875rem;font-weight:500;z-index:1}.probability-bar{background:linear-gradient(90deg,#667eea26,#764ba226);height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.completed-text{background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:1.1rem;line-height:1.6;margin-bottom:1rem;padding:1rem}.completed-text .original{color:#374151}.completed-text .generated{color:#667eea;font-weight:600}.model-info{padding:1.5rem}.model-info h3{font-size:1rem;margin:0 0 1rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{color:#6b7280;font-size:.875rem;font-weight:500}.info-value{color:#374151;font-size:1.1rem;font-weight:600}.about-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-top:1.5rem;padding:1.5rem}.about-section h3{color:#333;font-size:1.1rem;margin:0 0 1rem}.about-section p{color:#4b5563;font-size:.95rem;line-height:1.6;margin:.75rem 0}@media (max-width:600px){.lstm-page{padding:1rem .5rem}.lstm-header h1{font-size:1.75rem}.lstm-main{padding:1.5rem}.button-group{flex-direction:column}.complete-controls{width:100%}.complete-controls .btn-secondary{flex:1 1}.sample-buttons{flex-direction:column}.sample-button{width:100%}.info-grid{grid-template-columns:1fr}}.gan-page{background:linear-gradient(135deg,#f093fb,#f5576c);min-height:100vh;padding:2rem 1rem}.gan-container{margin:0 auto;max-width:1100px}.gan-header{color:#fff;margin-bottom:2rem;text-align:center}.gan-header h1{font-size:2.5rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0003}.gan-header .subtitle{font-size:1.1rem;margin:.5rem 0 0;opacity:.95}.gan-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.info-section{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;padding:2rem}.info-section h2{color:#333;font-size:1.5rem;margin:0 0 1rem}.info-section p{color:#4b5563;font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.model-specs h3{color:#333;font-size:1.1rem;font-weight:600;margin:1.5rem 0 .75rem}.model-specs ul{list-style:none;margin:0;padding:0}.model-specs li{border-bottom:1px solid #f3f4f6;color:#4b5563;font-size:.95rem;padding:.5rem 0}.model-specs li:last-child{border-bottom:none}.model-specs strong{color:#333;font-weight:600}.generator-section{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;padding:2rem}.generation-controls{display:flex;gap:1rem;margin-bottom:1.5rem}.generate-button{background:linear-gradient(135deg,#f093fb,#f5576c);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:1.1rem;font-weight:600;padding:1rem 2rem;transition:all .2s}.generate-button:hover:not(:disabled){box-shadow:0 4px 12px #f093fb66;transform:translateY(-2px)}.generate-button:disabled{cursor:not-allowed;opacity:.6}.download-button{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#374151;cursor:pointer;font-size:1rem;font-weight:600;padding:1rem 1.5rem;transition:all .2s}.download-button:hover{background:#e5e7eb;border-color:#f5576c;color:#f5576c}.image-display{align-items:center;background:#f9fafb;border:2px dashed #e5e7eb;border-radius:12px;display:flex;flex:1 1;justify-content:center;min-height:350px}.spinner{border-top-color:#f5576c}.generated-image-container{align-items:center;display:flex;flex-direction:column;gap:1rem}.generated-image{border-radius:8px;box-shadow:0 4px 12px #0000001a;height:320px;image-rendering:pixelated;width:320px}.image-caption{color:#6b7280;font-size:.875rem;font-style:italic;margin:0}.placeholder{padding:2rem}.tech-details{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;padding:2rem}.tech-details h3{color:#333;font-size:1.5rem;margin:0 0 1.5rem;text-align:center}.details-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(3,1fr)}.detail-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem}.detail-card h4{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 .75rem}.detail-card p{color:#4b5563;font-size:.95rem;line-height:1.6;margin:0}@media (max-width:900px){.details-grid,.gan-content{grid-template-columns:1fr}}@media (max-width:600px){.gan-page{padding:1rem .5rem}.gan-header h1{font-size:1.75rem}.generator-section,.info-section,.tech-details{padding:1.5rem}.generation-controls{flex-direction:column}.image-display{min-height:250px}}.info-btn{top:20px}.modal-content h2{border-bottom:3px solid #0f766e}.explanation-section{border-left:4px solid #0f766e}.explanation-section h3{color:#0f766e}@media (max-width:768px){.info-btn{margin-bottom:1rem;position:static;width:100%}.modal-content{max-height:90vh;padding:1.5rem}.modal-content h2{font-size:1.5rem;padding-right:2rem}}.energy-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:2rem 1rem}.energy-container{margin:0 auto;max-width:1200px}.back-button{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:2rem;padding:.75rem 1.5rem;transition:all .2s}.back-button:hover{background:#ffffff4d;transform:translateX(-4px)}.energy-header{color:#fff;margin-bottom:2rem;position:relative;text-align:center}.energy-header h1{font-size:2.5rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0003}.energy-header .subtitle{font-size:1.1rem;margin:.5rem 0 0;opacity:.95}.info-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff80;border-radius:8px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.6rem 1.2rem;position:absolute;right:20px;top:0;transition:all .3s ease;z-index:10}.info-btn:hover{background:#ffffff4d;border-color:#fffc;transform:translateY(-2px)}.energy-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 2fr}.controls-section{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;height:-webkit-fit-content;height:fit-content;padding:2rem}.controls-section h2{color:#333;font-size:1.5rem;margin:0 0 1.5rem}.control-group{margin-bottom:1.5rem}.control-group label{color:#333;display:block;font-size:1rem;font-weight:600;margin-bottom:.5rem}.date-input{border:2px solid #e1e5eb;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem;transition:border-color .2s;width:100%}.date-input:focus{border-color:#667eea;outline:none}.hours-selector{align-items:center;display:flex;gap:.5rem}.hours-input{border:2px solid #e1e5eb;border-radius:8px;flex:1 1;font-family:inherit;font-size:1rem;padding:.75rem}.hours-display{color:#667eea;min-width:60px;text-align:center}.hours-display,.predict-button{font-size:1.1rem;font-weight:600}.predict-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:1rem;padding:1rem 2rem;transition:all .2s;width:100%}.predict-button:hover:not(:disabled){box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.predict-button:disabled{cursor:not-allowed;opacity:.6}.model-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-top:1.5rem;padding:1rem}.model-info h3{color:#6b7280;font-size:.95rem;font-weight:600;letter-spacing:.05em;margin:0 0 .75rem;text-transform:uppercase}.model-info ul{list-style:none;margin:0;padding:0}.model-info li{border-bottom:1px solid #e5e7eb;color:#4b5563;font-size:.9rem;padding:.5rem 0}.model-info li:last-child{border-bottom:none}.model-info strong{color:#333;font-weight:600}.chart-section{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0003;padding:2rem}.error-message{background:#fee2e2;border-radius:8px;color:#dc2626;font-weight:500;margin-bottom:1rem;padding:1rem}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#667eea;height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-spinner p{color:#6b7280;font-weight:500}.placeholder{align-items:center;color:#9ca3af;display:flex;justify-content:center;min-height:400px;padding:3rem 2rem;text-align:center}.placeholder p{font-size:1rem;line-height:1.6;margin:0}.chart-container,.chart-legend{margin-top:1rem}.chart-legend{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.legend-item{align-items:center;color:#4b5563;display:flex;font-size:.9rem;gap:.5rem}.legend-color{border-radius:2px;height:3px;width:20px}.legend-color.historical{background:#3b82f6}.legend-color.predicted{background:#ef4444}.legend-color.actual{background:#10b981}.modal-overlay{align-items:center;background:#000000b3;display:flex;height:100vh;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100vw;z-index:1000}.modal-content{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;color:#1f2937;max-height:80vh;max-width:700px;overflow-y:auto;padding:2rem;position:relative}.modal-close{align-items:center;background:#f3f4f6;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:36px;justify-content:center;line-height:1;padding:0;position:absolute;right:1rem;top:1rem;transition:all .2s;width:36px}.modal-close:hover{background:#e5e7eb;color:#374151;transform:rotate(90deg)}.modal-content h2{border-bottom:3px solid #667eea;color:#111827;font-size:1.75rem;margin:0 0 1.5rem;padding-bottom:.75rem}.explanation-section{background:#f9fafb;border-left:4px solid #667eea;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.explanation-section.simply-put{background:#eff6ff;border-left-color:#3b82f6}.explanation-section h3{color:#667eea;font-size:1.25rem;margin:0 0 1rem}.explanation-section.simply-put h3{color:#1e40af}.explanation-section p{color:#374151;font-size:.975rem;line-height:1.7;margin:0}.explanation-section strong{color:#111827;font-weight:600}@media (max-width:1024px){.energy-content{grid-template-columns:1fr}.info-btn{margin-bottom:1rem;position:static;width:100%}}@media (max-width:600px){.energy-page{padding:1rem .5rem}.energy-header h1{font-size:1.75rem}.chart-section,.controls-section{padding:1.5rem}.modal-content{max-height:90vh;padding:1.5rem}.modal-content h2{font-size:1.5rem;padding-right:2rem}}
/*# sourceMappingURL=main.32008466.css.map*/