:root{--primary-color:#4F46E5;--primary-dark:#4338CA;--secondary-color:#10B981;--light-background:#F9FAFB;--text-color:#1F2937;--border-color:#E5E7EB;--disabled-background:#D1D5DB;--shadow-color:rgba(0,0,0,0.1);--error-color:#EF4444;--success-color:#10B981}*{box-sizing:border-box;margin:0;padding:0}.calculator{min-height:100vh;background-color:var(--light-background);padding:1.5rem 1rem}.container{max-width:1000px;margin:0 auto;padding:0 1rem}.header{color:var(--text-color);text-align:center;margin-bottom:1.5rem;font-size:1.75rem;font-weight:700;line-height:1.2}.project-id{font-size:.875rem;color:var(--primary-color);margin-top:.25rem;display:block}.question{font-size:1.25rem;font-weight:600;color:var(--text-color);margin-bottom:1.5rem;text-align:center}.progress-bar{width:100%;height:6px;background-color:var(--border-color);border-radius:3px;margin-bottom:2rem;overflow:hidden}.progress-fill{height:100%;background-color:var(--primary-color);transition:width .3s ease}.options-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-bottom:1.5rem;max-width:800px;margin-left:auto;margin-right:auto}.option-label{display:flex;align-items:center;padding:.75rem;background-color:white;border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;box-shadow:0 1px 2px var(--shadow-color);min-height:48px;max-width:100%}.option-label:hover{transform:translateY(-1px);border-color:var(--primary-color);box-shadow:0 2px 4px var(--shadow-color)}.option-label.selected{background-color:var(--primary-color);color:white;border-color:var(--primary-color)}.option-checkbox{margin-right:.5rem;width:1rem;height:1rem;border-radius:.25rem;flex-shrink:0}.button{display:inline-flex;align-items:center;justify-content:center;padding:.625rem 1.25rem;font-size:.875rem;font-weight:600;color:white;background-color:var(--primary-color);border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease;min-width:100px}.button.secondary{background-color:white;color:var(--primary-color);border:1px solid var(--primary-color)}.button:hover{background-color:var(--primary-dark);transform:translateY(-1px)}.button.secondary:hover{background-color:var(--light-background);color:var(--primary-dark);border-color:var(--primary-dark)}.button:disabled{background-color:var(--disabled-background);cursor:not-allowed;transform:none}.button-group{display:flex;justify-content:center;gap:.75rem;margin-top:1.5rem}.result-container{background-color:white;padding:1.5rem;border-radius:.75rem;box-shadow:0 2px 4px var(--shadow-color);text-align:center;margin-bottom:1.5rem;max-width:400px;margin-left:auto;margin-right:auto}.result-title{font-size:1.25rem;color:var(--text-color);margin-bottom:.75rem}.result-days{font-size:2rem;color:var(--primary-color);font-weight:700}.beta-tag{display:inline-block;padding:.25rem .5rem;background-color:var(--light-background);color:var(--text-color);border-radius:.25rem;font-size:.75rem;margin-top:.5rem}.contact-form{background-color:white;padding:1.5rem;border-radius:.75rem;box-shadow:0 2px 4px var(--shadow-color);max-width:400px;margin:1.5rem auto}.contact-form input{width:100%;padding:.625rem;margin-bottom:.75rem;border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;transition:border-color .2s ease}.contact-form input:focus{outline:none;border-color:var(--primary-color)}.error-message{background-color:#FEE2E2;color:var(--error-color)}.error-message,.success-message{padding:.75rem;border-radius:.375rem;margin-bottom:1rem;text-align:center;font-size:.875rem}.success-message{background-color:#D1FAE5;color:var(--success-color)}.close-button{position:absolute;top:.75rem;right:.75rem;background:none;border:none;cursor:pointer;padding:.375rem;color:var(--text-color);transition:color .2s ease;font-size:1.5rem;line-height:1}.close-button:hover{color:var(--primary-color)}@media (max-width:768px){.calculator{padding:1rem .5rem}.header{font-size:1.25rem}.question{font-size:1rem}.options-container{grid-template-columns:1fr;gap:.5rem}.option-label{padding:.625rem;font-size:.875rem}.button{padding:.5rem 1rem;font-size:.875rem}.contact-form,.result-container{padding:1rem}}@media (min-width:769px) and (max-width:1024px){.options-container{grid-template-columns:repeat(2,1fr)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.calculator>*{animation:fadeIn .2s ease-out}.loading{display:flex;justify-content:center;align-items:center;min-height:150px}.loading-spinner{border-top:3px solid var(--border-color);border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:30px;height:30px;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.button-title{display:block;font-size:1rem;margin-bottom:.25rem}.button-description{display:block;font-size:.75rem;color:rgba(255,255,255,.8)}.question-description{font-size:.875rem;margin-bottom:1.5rem;opacity:.8}.progress-text,.question-description{color:var(--text-color);text-align:center}.progress-text{font-size:.75rem;margin-top:.5rem}.option-content{flex:1}.option-title{display:block;margin-bottom:.25rem}.option-tooltip{position:absolute;top:100%;left:0;right:0;background-color:white;padding:.75rem;border-radius:.375rem;box-shadow:0 4px 6px var(--shadow-color);font-size:.75rem;color:var(--text-color);z-index:10;margin-top:.5rem;opacity:0;animation:fadeIn .2s ease-out forwards}.results-container{max-width:800px;margin:0 auto}.result-card{background-color:white;border-radius:1rem;box-shadow:0 4px 6px var(--shadow-color);padding:2rem}.result-header{font-size:1.5rem;font-weight:700;color:var(--text-color);text-align:center;margin-bottom:2rem}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:2rem;padding:1rem;background-color:var(--light-background);border-radius:.5rem}.metric{text-align:center}.metric-label{display:block;font-size:.875rem;color:var(--text-color);opacity:.8;margin-bottom:.5rem}.metric-value{display:block;font-size:1.25rem;font-weight:700;color:var(--primary-color)}.selected-features{margin-bottom:2rem}.selected-features h3{font-size:1.125rem;font-weight:600;color:var(--text-color);margin-bottom:1rem}.features-list{display:grid;gap:1rem}.feature-item{background-color:var(--light-background);padding:1rem;border-radius:.5rem}.feature-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.feature-name{font-weight:600;color:var(--text-color)}.complexity-badge{font-size:.75rem;padding:.25rem .5rem;border-radius:1rem;font-weight:500}.complexity-badge.low{background-color:#D1FAE5;color:#065F46}.complexity-badge.medium{background-color:#FEF3C7;color:#92400E}.complexity-badge.high{background-color:#FEE2E2;color:#991B1B}.feature-description{font-size:.875rem;color:var(--text-color);opacity:.8;margin-bottom:.5rem}.feature-time{font-size:.75rem;color:var(--primary-color);font-weight:500}.tech-recommendations{margin-bottom:2rem}.tech-recommendations h3{font-size:1.125rem;font-weight:600;color:var(--text-color);margin-bottom:1rem}.tech-categories{display:grid;gap:1rem}.tech-category{background-color:var(--light-background);padding:1rem;border-radius:.5rem}.tech-category h4{font-size:.875rem;font-weight:600;color:var(--text-color);margin-bottom:.5rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background-color:white;color:var(--primary-color);font-size:.75rem;padding:.25rem .5rem;border-radius:1rem;border:1px solid var(--primary-color)}@media (max-width:768px){.result-metrics{grid-template-columns:1fr}.metric{padding:1rem 0;border-bottom:1px solid var(--border-color)}.metric:last-child{border-bottom:none}.result-card{padding:1rem}.feature-header{flex-direction:column;align-items:flex-start;gap:.5rem}.complexity-badge{align-self:flex-start}}.button.skip{background-color:#f0f0f0;color:#666;border:1px solid #ddd;margin:0 10px}.button.skip:hover{background-color:#e0e0e0;color:#444}.feature-item.skipped{border-left:3px solid #ffd700;opacity:.8}.status-badge.skipped{background-color:#ffd700;color:#000;padding:2px 8px;border-radius:12px;font-size:.8em;font-weight:500}.skipped-features{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.skipped-features h3{color:#666;margin-bottom:15px}