:root{font-family:Inter,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}body{margin:0;padding:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-height:100vh;width:100%;background-color:#242424;color:#ffffffde;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}*,*:before,*:after{box-sizing:border-box}.page-title{font-size:24px;color:#fff;text-align:center;margin-bottom:2rem}.app-wrapper{display:flex;flex-direction:column;min-height:100vh}.small-unit{font-size:.8em}.app-container{position:relative;width:90%;max-width:800px;min-width:320px;margin:0 auto 40px;transition:width .3s ease;min-height:calc(100vh - 200px)}.survey-container{padding:16px;border-radius:8px;width:100%;transition:all .3s ease}.questionnaire{opacity:1;transition:opacity .3s ease}.loading{opacity:.5;pointer-events:none;position:relative}.initial-loader-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh}.initial-loading-spinner,.loading-spinner{position:fixed;top:50%;left:50%;width:50px;height:50px;border:5px solid rgba(255,255,255,.3);border-top:5px solid #fff;border-radius:50%;animation:spin 1s linear infinite;transform:translate(-50%,-50%);z-index:1000}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.question.saving{position:relative}.saving-indicator{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#242424cc;color:#fff;display:flex;justify-content:center;align-items:center;border-radius:8px}.spinner{border:4px solid rgba(255,255,255,.3);border-top:4px solid #fff;border-radius:50%;width:16px;height:16px;animation:spin 1s linear infinite;display:inline-block;vertical-align:middle}.loading-results .calculation-animation{display:flex;align-items:center;justify-content:center;margin:10px 0;padding:8px;background-color:#0003;border-radius:8px}.loading-value{min-height:30px;display:flex;align-items:center;justify-content:flex-end}.loading-value.huge{min-height:48px}.loading-value .calculation-animation{margin:0;padding:4px 8px;width:100%;justify-content:flex-end}.question{background-color:#282c34;color:#bbb;margin-bottom:20px;padding:16px;border-radius:8px;box-shadow:0 4px 8px #0000001a;overflow:hidden;opacity:0;transform:translateY(20px);max-height:0;will-change:transform,width;width:100%;transition:width .3s ease}.question.expanded{animation:slideIn .5s forwards}.question.collapsing{animation:slideOut .5s forwards}@keyframes slideIn{0%{max-height:0;opacity:0;transform:translateY(20px)}to{max-height:500px;opacity:1;transform:translateY(0)}}@keyframes slideOut{0%{max-height:500px;opacity:1;transform:translateY(0)}to{max-height:0;opacity:0;transform:translateY(-20px)}}.question-title-container{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.question-title{flex:1;margin-bottom:0}.helper-text-toggle{background:none;border:none;color:#fff9;cursor:pointer;font-size:18px;padding:0;margin-left:8px;transition:color .3s ease;display:flex;align-items:center;justify-content:center;width:24px;height:24px}.helper-text-toggle:hover{color:#ffffffe6}.helper-text-container{background-color:#3a3f48;border-radius:6px;padding:10px 12px;margin-bottom:12px;font-size:14px;line-height:1.4;color:#ffffffe6;border-left:4px solid #4a90e2;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.helper-text{margin:0}.helper-text a{color:#4da3ff;text-decoration:underline;font-weight:500;transition:all .2s ease}.helper-text a:hover,.helper-text a:focus{color:#7fbfff;text-decoration:underline;text-shadow:0 0 8px rgba(77,163,255,.5)}.option{display:block;margin-bottom:10px;margin-right:10px}.options-row{display:flex;align-items:center}.option input{margin-right:5px}.yearly-question-container{display:flex;flex-direction:column;margin-bottom:20px;width:100%;overflow-x:auto}.yearly-question-container .instruction{display:flex;align-items:center;background-color:#333;padding:10px;border-radius:4px;margin-top:10px}.instruction-icon{margin-right:8px;font-size:16px}.instruction-text{font-size:12px;font-weight:700;color:#fafad2}.instruction-text.error{color:#ff0}.year-labels{display:flex;justify-content:space-between;margin-bottom:5px}.year-label{flex:1;text-align:center;font-weight:700}.year-inputs{display:flex;justify-content:space-between;align-items:stretch;min-width:400px}.year-inputs>*{flex:1;margin:0 5px;max-width:calc(100% / 3 - 10px)}input[type=text],input[type=number]{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.text-question .input-wrapper{position:relative}.text-question .unit{position:absolute;top:50%;right:10px;transform:translateY(-50%);font-size:14px;pointer-events:none;opacity:80%}select{width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}.results-box{background-color:#1e2127;color:#fff;padding:24px;border-radius:12px;box-shadow:0 8px 16px #0006,0 0 0 2px #ffffff1a;margin-top:40px;margin-bottom:40px;overflow-y:auto;position:relative;transform-origin:center;animation:resultAppear .5s ease-out forwards;border-left:4px solid #4CAF50}@keyframes resultAppear{0%{opacity:0;transform:scale(.95) translateY(10px)}70%{transform:scale(1.02) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.results-box:before{content:"";position:absolute;top:-10px;left:30px;width:20px;height:20px;background-color:#1e2127;transform:rotate(45deg);border-top:2px solid rgba(255,255,255,.1);border-left:2px solid rgba(255,255,255,.1)}.results-box h2{font-size:20px;margin-bottom:15px;position:relative;display:inline-block}.results-box h2:after{content:"";position:absolute;bottom:-5px;left:0;width:100%;height:2px;background:linear-gradient(90deg,#fffc,#ffffff1a)}.results-box ul{list-style:none;padding:0;margin:0}.results-box li{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-bottom:8px;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.2)}.results-box li:last-child{border-bottom:none}.result-label{font-weight:700;color:#ffffffde;flex:5}.result-value{color:#fffc;text-align:right;flex:1;white-space:nowrap;transition:all .3s ease}.result-value.huge{font-weight:700;font-size:48px;text-shadow:0 0 10px rgba(255,255,255,.3);animation:pulseGlow 2s infinite alternate;letter-spacing:-1px}@keyframes pulseGlow{0%{text-shadow:0 0 5px rgba(255,255,255,.3)}to{text-shadow:0 0 15px rgba(255,255,255,.6),0 0 30px rgba(255,255,255,.3)}}.energy-class-A{color:#4caf50;text-shadow:0 0 15px rgba(76,175,80,.7);animation:pulseGlowA 2s infinite alternate}@keyframes pulseGlowA{0%{text-shadow:0 0 10px rgba(76,175,80,.5)}to{text-shadow:0 0 20px rgba(76,175,80,.8),0 0 30px rgba(76,175,80,.4)}}.energy-class-B{color:#8bc34a;text-shadow:0 0 15px rgba(139,195,74,.7);animation:pulseGlowB 2s infinite alternate}@keyframes pulseGlowB{0%{text-shadow:0 0 10px rgba(139,195,74,.5)}to{text-shadow:0 0 20px rgba(139,195,74,.8),0 0 30px rgba(139,195,74,.4)}}.energy-class-C{color:#ffeb3b;text-shadow:0 0 15px rgba(255,235,59,.7);animation:pulseGlowC 2s infinite alternate}@keyframes pulseGlowC{0%{text-shadow:0 0 10px rgba(255,235,59,.5)}to{text-shadow:0 0 20px rgba(255,235,59,.8),0 0 30px rgba(255,235,59,.4)}}.energy-class-D{color:#ff9800;text-shadow:0 0 15px rgba(255,152,0,.7);animation:pulseGlowD 2s infinite alternate}@keyframes pulseGlowD{0%{text-shadow:0 0 10px rgba(255,152,0,.5)}to{text-shadow:0 0 20px rgba(255,152,0,.8),0 0 30px rgba(255,152,0,.4)}}.energy-class-E{color:#ff5722;text-shadow:0 0 15px rgba(255,87,34,.7);animation:pulseGlowE 2s infinite alternate}@keyframes pulseGlowE{0%{text-shadow:0 0 10px rgba(255,87,34,.5)}to{text-shadow:0 0 20px rgba(255,87,34,.8),0 0 30px rgba(255,87,34,.4)}}.energy-class-F{color:#f44336;text-shadow:0 0 15px rgba(244,67,54,.7);animation:pulseGlowF 2s infinite alternate}@keyframes pulseGlowF{0%{text-shadow:0 0 10px rgba(244,67,54,.5)}to{text-shadow:0 0 20px rgba(244,67,54,.8),0 0 30px rgba(244,67,54,.4)}}.energy-class-G{color:#d32f2f;text-shadow:0 0 15px rgba(211,47,47,.7);animation:pulseGlowG 2s infinite alternate}@keyframes pulseGlowG{0%{text-shadow:0 0 10px rgba(211,47,47,.5)}to{text-shadow:0 0 20px rgba(211,47,47,.8),0 0 30px rgba(211,47,47,.4)}}.result-value.placeholder{color:#fff6;font-style:italic;min-width:20px;text-align:center}.footer{background:linear-gradient(to bottom,#1e2127,#171a1f);color:#ffffffde;padding:20px 0;margin-top:50px;width:100vw;margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);border-top:1px solid rgba(255,255,255,.1);box-sizing:border-box;box-shadow:0 -5px 15px #00000026}.footer-content{width:100%;max-width:80%;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:30px}.footer-section{flex:1;min-width:200px;max-width:30%}.footer-section.company-info{text-align:left}.footer-section.company-info .footer-item{justify-content:flex-start}.footer-section.company-info .footer-heading{text-align:left}.footer-section.company-info .footer-heading:after{left:0;transform:none}.footer-section.links{text-align:center}.footer-section.links .footer-item{justify-content:center}.footer-section.links .footer-heading{text-align:center}.footer-section.links .footer-heading:after{left:50%;transform:translate(-50%)}.footer-section.contact,.footer-section.contact .footer-heading,.footer-section.contact .footer-text{text-align:right}.footer-section.contact .footer-heading:after{left:auto;right:0}.footer-heading{font-size:18px;font-weight:600;margin-bottom:15px;color:#fff;position:relative;padding-bottom:8px;letter-spacing:.5px}.footer-heading:after{content:"";position:absolute;bottom:0;left:0;width:40px;height:2px;background-color:#fff6;transition:width .3s ease}.footer-list{list-style:none;padding:0;margin:0}.footer-item{margin-bottom:10px;display:flex;align-items:flex-start;font-size:14px;line-height:1.5;transition:transform .2s ease}.footer-item:hover{transform:translate(2px)}.footer-icon{margin-right:8px;display:inline-block;width:20px}.footer-link{color:#ffffffde;text-decoration:none;transition:all .3s ease;position:relative;font-weight:400}.footer-link:hover,.footer-link:focus{color:#fff;outline:none}.footer-link:hover:after,.footer-link:focus:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background-color:#fff}.footer-button{background:none;border:none;color:#ffffffde;cursor:pointer;font-size:14px;padding:0;transition:all .3s ease;text-align:center;position:relative}.footer-button:hover,.footer-button:focus{color:#fff;outline:none}.footer-button:hover:after,.footer-button:focus:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:1px;background-color:#fff}.footer-text{margin:5px 0;font-size:14px;line-height:1.5}.footer-bottom{margin-top:25px;padding-top:15px;border-top:1px solid rgba(255,255,255,.1);text-align:center;background-color:#0000001a;padding-bottom:10px}.copyright{font-size:12px;color:#fff9;margin:0;letter-spacing:.3px}.footer-disclaimer{width:100%;padding:20px;margin-top:20px;background-color:#282c34;border-top:1px solid rgba(255,255,255,.1)}.footer-disclaimer h3{margin-bottom:16px;font-size:18px;color:#ffffffde}.footer-disclaimer p{margin-bottom:16px;line-height:1.6;font-size:14px;color:#ffffffb3}.disclaimer-content{max-height:60vh;overflow-y:auto;padding-right:10px}.disclaimer-content p{margin-bottom:16px;line-height:1.6}@media (max-width: 768px){.footer-content{flex-direction:column;align-items:center;max-width:90%;gap:25px}.footer-section{width:100%;max-width:100%;text-align:center}.footer-section.contact .footer-text,.footer-section.contact .footer-heading,.footer-section.links .footer-item,.footer-section.links .footer-heading{text-align:center;justify-content:center}.footer-section.company-info .footer-item,.footer-section.company-info .footer-heading{text-align:left;justify-content:flex-start}.footer-section.company-info .footer-icon{margin-right:5px;width:auto;display:inline-block}.footer-section.links .footer-heading:after,.footer-section.contact .footer-heading:after{left:50%;transform:translate(-50%);right:auto}.footer-section.company-info .footer-heading:after{left:0;transform:none;right:auto}.footer{padding:25px 0 12px}.footer-bottom{margin-top:20px;padding-bottom:10px}}@media (max-width: 480px){.footer-content{max-width:95%;gap:15px}.footer-heading{font-size:16px;margin-bottom:12px;padding-bottom:6px}.footer-item,.footer-text{font-size:13px;margin-bottom:8px}.footer{padding:20px 0 8px}.footer-bottom{margin-top:15px;padding-top:10px;padding-bottom:8px}}.modal-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background-color:#333842;color:#fff;border-radius:8px;padding:20px 24px;min-width:400px;max-width:90vw;max-height:90vh;overflow-y:auto;box-shadow:0 4px 16px #0006;position:relative;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5}.modal-close-btn{position:absolute;top:10px;right:12px;font-size:18px;background:none;color:#fff;border:none;cursor:pointer}.info-box{background-color:#3a3f48;border-radius:6px;padding:12px 16px;margin:16px 0;font-size:14px;line-height:1.4;color:#fff;border-left:4px solid #206035}.info-box p{margin:0 0 8px}.info-box p:last-child{margin-bottom:0}.modal-content .question{margin-bottom:12px;padding:12px;background-color:#2d323a}.modal-content .question-title-container{margin-bottom:8px}.modal-content .question-title{font-weight:500}.button-container{display:flex;justify-content:center;align-items:center;gap:16px;flex-wrap:wrap}.action-button{padding:12px 14px;font-size:16px;color:#fff;background-color:#206035;border:none;border-radius:8px;cursor:pointer;transition:background-color .3s ease,opacity .3s ease}.action-button:hover{background-color:#184c28}.action-button:disabled,.action-button.loading{background-color:#333;cursor:not-allowed;opacity:.6}.clear-button{background-color:#914744}.clear-button:hover{background-color:#83302e}.error-message{position:fixed;z-index:3;display:flex;align-items:center;justify-content:center;color:#d32f2f;background-color:#fff1f0;border:1px solid #d32f2f;border-radius:8px;padding:12px 20px;margin:20px 0;box-shadow:0 4px 8px #0000001a;font-size:16px;transition:transform .3s ease,box-shadow .3s ease}.error-message:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.error-message-icon{margin-right:12px}.error-message-icon:before{content:"⚠️";font-size:20px}
