.forms-container{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow-lg);width:calc(100% - 4rem);max-width:800px;margin:2rem auto;transition:all var(--transition-base);box-sizing:border-box}.forms-container:hover{box-shadow:var(--shadow-xl);border-color:var(--color-accent-primary)}.forms-container form{gap:1.5rem}.form-group,.forms-container form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:var(--color-text-primary);font-weight:600;font-size:1rem;margin-bottom:.25rem}.form-group input,.form-group select,.form-group textarea{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-primary);padding:.875rem 1rem;border-radius:var(--radius-md);font-size:1rem;transition:all var(--transition-fast);font-family:inherit;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px rgba(99,102,241,.1);background:var(--color-bg-hover)}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--color-accent-primary)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-tertiary)}.form-group select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23c6c6c6' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-group select option{background:var(--color-bg-secondary);color:var(--color-text-primary);padding:.5rem}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input_mobile{position:relative}.forms-container button[type=submit]{background:var(--color-accent-gradient);color:var(--color-text-primary);border:none;padding:1rem 2rem;border-radius:var(--radius-lg);font-size:1.1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);margin-top:1rem;position:relative;overflow:hidden}.forms-container button[type=submit]:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.1);transform:translate(-50%,-50%);transition:width .6s,height .6s}.forms-container button[type=submit]:hover:before{width:400px;height:400px}.forms-container button[type=submit]:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl),var(--shadow-glow)}.forms-container button[type=submit]:active{transform:translateY(-1px)}.forms-container button[type=submit]:disabled{background:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:not-allowed;transform:none;box-shadow:none;opacity:.5}@media (max-width:768px){.forms-container{padding:1.5rem;margin:1.5rem auto;width:calc(100% - 3rem)}.forms-container form{gap:1.25rem}.form-group label{font-size:.95rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;font-size:.95rem}.forms-container button[type=submit]{padding:.875rem 1.5rem;font-size:1rem}}@media (max-width:480px){.forms-container{padding:1rem;margin:1rem auto;width:calc(100% - 2rem);border-radius:var(--radius-lg)}.forms-container form{gap:1rem}.form-group label{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.65rem;font-size:.9rem}.forms-container button[type=submit]{width:100%;padding:.75rem;font-size:.95rem}}.results-container{max-width:1200px;padding:0 2rem!important;display:flex;flex-direction:column;gap:2rem}.plan-container,.results-container{margin:2rem auto!important;width:100%!important;box-sizing:border-box!important}.plan-container{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:2.5rem!important;box-shadow:var(--shadow-lg);transition:all var(--transition-base);max-width:1200px!important}.plan-container:hover{box-shadow:var(--shadow-xl);border-color:var(--color-accent-primary)}.plan-container h2{color:var(--color-text-primary);font-size:2rem;margin-bottom:1.5rem;text-align:center;background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.plan-container h3{color:var(--color-accent-primary);font-size:1.5rem;margin-top:2rem;margin-bottom:1rem}.plan-container h4{color:var(--color-text-primary);font-size:1.25rem;margin-top:1.5rem;margin-bottom:.75rem}.plan-container ol,.plan-container p,.plan-container ul{color:var(--color-text-secondary);line-height:1.7;margin-bottom:1rem}.plan-container ol,.plan-container ul{padding-left:2rem}.plan-container li{margin-bottom:.5rem}.plan-container strong{color:var(--color-text-primary);font-weight:600}.plan-container a{color:var(--color-accent-primary);text-decoration:underline;transition:color var(--transition-fast)}.plan-container a:hover{color:var(--color-accent-secondary)}.plan-container code{color:var(--color-accent-primary);padding:.25rem .5rem;font-family:Courier New,monospace}.plan-container blockquote,.plan-container code{background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.plan-container blockquote{border-left:3px solid var(--color-accent-primary);margin:1rem 0;color:var(--color-text-secondary);font-style:italic;padding:1rem}.feedback-container{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-md);transition:all var(--transition-base)}.feedback-container:hover{box-shadow:var(--shadow-lg)}.feedback-buttons{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.feedback-buttons p{font-size:1.25rem;margin:0}.feedback-buttons button,.feedback-buttons p{color:var(--color-text-primary);font-weight:600}.feedback-buttons button{background:var(--color-bg-tertiary);border:1px solid var(--color-border);padding:.875rem 2rem;border-radius:var(--radius-md);font-size:1.1rem;cursor:pointer;transition:all var(--transition-base);min-width:150px}.feedback-buttons button:hover{background:var(--color-accent-gradient);border-color:transparent;transform:translateY(-2px);box-shadow:var(--shadow-md)}.plan-actions{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.feedback-success{color:var(--color-accent-primary);font-size:1.25rem;font-weight:600;margin:0;text-align:center}.action-button{background:var(--color-accent-gradient);color:var(--color-text-primary);border:none;padding:1rem 2rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);min-width:200px;position:relative;overflow:hidden}.action-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.1);transform:translate(-50%,-50%);transition:width .6s,height .6s}.action-button:hover:before{width:300px;height:300px}.action-button:hover{transform:translateY(-3px);box-shadow:var(--shadow-xl),var(--shadow-glow)}.action-button:active{transform:translateY(-1px)}.feedback-improvement{display:flex;flex-direction:column;gap:1rem}.feedback-improvement textarea{background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-primary);padding:1rem;border-radius:var(--radius-md);font-size:1rem;font-family:inherit;min-height:120px;resize:vertical;transition:all var(--transition-fast)}.feedback-improvement textarea:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px rgba(99,102,241,.1);background:var(--color-bg-hover)}.feedback-improvement textarea::placeholder{color:var(--color-text-tertiary)}.feedback-actions{display:flex;flex-direction:column;align-items:center;gap:1rem}.generar_nuevo{background:var(--color-accent-gradient);color:var(--color-text-primary);border:none;padding:1rem 2rem;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-base);box-shadow:var(--shadow-md);min-width:200px}.generar_nuevo:hover:not(:disabled){transform:translateY(-3px);box-shadow:var(--shadow-xl),var(--shadow-glow)}.generar_nuevo:active:not(:disabled){transform:translateY(-1px)}.generar_nuevo:disabled{background:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:not-allowed;opacity:.5;transform:none;box-shadow:none}.caracteres-restantes,.limite-intentos{color:var(--color-text-tertiary);font-size:.9rem;text-align:center}.limite-intentos{color:var(--color-accent-primary);font-weight:600}.error-message{background:var(--color-bg-secondary);border:1px solid #ef4444;color:#ef4444;padding:1rem;border-radius:var(--radius-md);text-align:center;margin:2rem auto;max-width:800px;box-shadow:var(--shadow-md)}@media (max-width:768px){.results-container{padding:0 1.5rem!important;margin:1rem auto!important}.plan-container{padding:1.5rem!important;width:100%!important;margin:1.5rem auto!important}.plan-container h2{font-size:1.75rem}.plan-container h3{font-size:1.3rem}.feedback-container{padding:1.5rem}.action-button,.feedback-buttons button,.generar_nuevo{min-width:150px;padding:.875rem 1.5rem;font-size:.95rem}}@media (max-width:480px){.results-container{padding:0 1rem!important;margin:.5rem auto!important}.plan-container{padding:1rem!important;width:100%!important;margin:1rem auto!important}.plan-container h2{font-size:1.5rem}.plan-container h3{font-size:1.2rem}.feedback-container{padding:1rem}.feedback-buttons p,.feedback-success{font-size:1.1rem}.action-button,.feedback-buttons button,.generar_nuevo{width:100%;min-width:auto;padding:.75rem;font-size:.9rem}.feedback-improvement textarea{min-height:100px;font-size:.9rem}}.spinner{border:8px solid rgba(0,0,0,0);border-left-color:rgba(196,0,7,0);border-radius:50%;color:linear-gradient(90deg,#8304fa,#67ff01);width:200px;height:200px;margin-top:20px;animation:spin 1s linear infinite;transform-origin:center center;z-index:5}.spinner-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(255,255,255,0);z-index:1000}.spinner-container,.spinner-wrapper{display:flex;justify-content:center;align-items:center}.spinner-container{width:250px;height:250px;position:relative}.spinner-image{width:250px;height:250px;object-fit:contain;animation:spin 1s linear infinite;transform-origin:center center}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}