*{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;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;padding:20px}.app{max-width:1400px;margin:0 auto}.app-header{background:#fff;padding:20px 30px;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.app-header h1{color:#333;font-size:28px}.header-actions{display:flex;gap:15px;align-items:center}.language-toggle,.clear-button{padding:8px 16px;border:2px solid #667eea;background:#fff;color:#667eea;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s}.language-toggle:hover,.clear-button:hover{background:#667eea;color:#fff}.app-main{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-section,.results-section{display:flex;flex-direction:column;gap:20px}.location-selector,.barrel-form,.insulation-form,.temperature-inputs,.weather-display,.temperature-adjustment,.results-display{background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 6px #0000001a}h2{color:#333;margin-bottom:20px;font-size:22px;border-bottom:2px solid #667eea;padding-bottom:10px}h3{color:#555;margin-bottom:15px;font-size:18px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:5px;color:#555;font-weight:500;font-size:14px}.form-group input,.form-group select{padding:10px;border:2px solid #e0e0e0;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#667eea}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.hint{margin-top:5px;font-size:12px;color:#888;font-style:italic}.error{color:#e74c3c;padding:10px;background:#fee;border-radius:6px;margin:10px 0}.coordinates-form{margin-top:15px}.coordinates-form h3{font-size:16px;margin-bottom:10px}.selected-location{margin-top:15px;padding:10px;background:#f0f7ff;border-radius:6px;color:#333}.volume-display{margin-top:15px;padding:10px;background:#e8f5e9;border-radius:6px;color:#2e7d32;font-size:16px}.time-until{margin-top:15px;padding:10px;background:#fff3e0;border-radius:6px;color:#e65100;font-size:16px}.barrel-visualization{margin-top:20px;display:flex;justify-content:center;align-items:center;min-height:320px;padding:20px}.barrel-diagram{display:flex;flex-direction:column;align-items:center;gap:10px;perspective:1000px}.barrel-container{position:relative;display:flex;flex-direction:column;align-items:center;transform-style:preserve-3d}.barrel-top-rim{width:100%;height:8px;background:linear-gradient(180deg,#8b7355,#6b5b4a);border-radius:50% 50% 0 0;box-shadow:0 -2px 4px #0000004d,inset 0 2px 4px #fff3;z-index:3}.barrel-body{position:relative;width:100%;background:linear-gradient(90deg,#8b7355,#a0826d,#8b7355,#a0826d,#8b7355,#a0826d);border-radius:0 0 15% 15%;box-shadow:inset 0 0 20px #0000004d,0 4px 8px #0003,inset -2px 0 4px #0003,inset 2px 0 4px #ffffff1a;overflow:hidden;z-index:2}.barrel-staves{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.barrel-stave{position:absolute;top:0;width:1px;height:100%;background:linear-gradient(180deg,#0000004d,#0000001a,#0000004d);box-shadow:1px 0 2px #ffffff1a}.water-fill{position:absolute;bottom:0;left:0;width:100%;transition:height .5s ease;background:linear-gradient(180deg,#4a90e2e6,#3498dbf2,#2980b9);z-index:1}.water-surface{position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,#ffffff4d,#ffffff1a,#ffffff4d);box-shadow:0 -2px 4px #fff3,inset 0 1px 2px #0000001a;animation:waterRipple 3s ease-in-out infinite}@keyframes waterRipple{0%,to{transform:translateY(0);opacity:.8}50%{transform:translateY(-1px);opacity:1}}.fill-level-indicator{position:absolute;left:50%;transform:translate(-50%);background:#fffffff2;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;color:#333;box-shadow:0 2px 4px #0003;white-space:nowrap;z-index:4;transition:bottom .5s ease}.fill-level-indicator:before{content:"";position:absolute;left:50%;top:100%;transform:translate(-50%);border:4px solid transparent;border-top-color:#fffffff2}.barrel-bottom-rim{width:100%;height:8px;background:linear-gradient(180deg,#6b5b4a,#8b7355);border-radius:0 0 50% 50%;box-shadow:0 2px 4px #0000004d,inset 0 -2px 4px #ffffff1a;z-index:3}.weather-info{margin-top:15px}.weather-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:20px;padding:15px;background:#f8f9fa;border-radius:8px}.weather-stat-item{font-size:16px;color:#333}.weather-stat-item strong{color:#667eea;margin-right:8px}.weather-chart{margin-top:15px;height:300px;position:relative}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;margin-bottom:20px}.result-card{padding:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff}.result-card h3{color:#fff;margin-bottom:10px;font-size:16px}.energy-value,.method-value{font-size:24px;font-weight:700}.results-details{margin-top:20px;padding:15px;background:#f5f5f5;border-radius:8px}.results-details ul{list-style:none;padding-left:0}.results-details li{padding:8px 0;border-bottom:1px solid #e0e0e0}.results-details li:last-child{border-bottom:none}.timeline-chart{margin-top:20px;padding:15px;background:#fafafa;border-radius:8px}.chart-container{height:300px;position:relative}.temperature-adjustment{background:#fff;padding:25px;border-radius:12px;box-shadow:0 4px 6px #0000001a;margin-bottom:20px}.adjustment-result{margin-top:15px;padding:15px;background:#e8f5e9;border-radius:8px;border-left:4px solid #4caf50}.result-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid rgba(76,175,80,.2)}.result-item:last-child{border-bottom:none}.result-item .label{color:#2e7d32;font-size:14px;font-weight:500}.result-item .value{font-weight:700;color:#1b5e20;font-size:16px}@media (max-width: 1024px){.app-main{grid-template-columns:1fr}}@media (max-width: 768px){.app-header{flex-direction:column;gap:15px;align-items:flex-start}.form-row,.results-grid{grid-template-columns:1fr}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%}
